tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/arch/sparc64/sparc64
On Mar 25, 2008, at 9:42 AM, Martin Husemann wrote:
Module Name: src
Committed By: martin
Date: Tue Mar 25 16:42:07 UTC 2008
Modified Files:
src/sys/arch/sparc64/sparc64: syscall.c
Log Message:
Count the number of syscalls per cpu, to avoid cache trashing around
uvmexp.syscalls.
I wonder if we should apply the same treatment to uvmexp.
{traps,intr,faults}
We actually need a generic facility for per-cpu counters.
And a way to collect them for all cpus when asked for.
And it needs to be more lightweight than evcnt.
considering how cache wasteful evcnt is...
I'm thinking ev_count should be an indirect reference so that the
counters for an object can be grouped together in the same cache line.
Maybe even a uint64_t *cpu_counters in cpu_data. then evcnt cold
allocate
a slow in it for each counter. IP could alloc N counters for ipstats.
uint64_t *ipstats = &curcpu()->ci_data.cpu_counters
[ipstats.ips_ctroffset];
or something along these lines.
Home |
Main Index |
Thread Index |
Old Index