This patch does the following:
- creates a cacheline aligned/padded struct cpu_stat[NR_CPUS].
- moves the [NR_CPUS] members of kernel_stat into cpu_stat
This moves the stat data that a cpu will update into a contiguous region.
Previous users of kernel_stat would compete for an array's cacheline
with other cpus.
- creates /proc/cpu/[0-9]+/ and fs/proc/proc_cpu.c with code for managing
files in the cpu's directories.
This should be useful for rusty's */active and arjan/rmk's */frequency.
I have no strong feelings about where this lives or what it should be
named.
- adds collection of fault statistics and adds 'context migration'
recording, per cpu.
- updates users of kernel_stat in proc, reports shouldn't change
- updates every friggin' user of kstat.irqs[] in arch/ with a macro so
that we never have to do this again.
The patch is rather large, due to that last bit. It can be found at
http://www.osdlab.org/sw_resources/cpustat/cpustat-2.4.7.pre3-1.diff
with a tool for summarizing /proc/cpu/*/stat at:
http://www.osdlab.org/sw_resources/cpustat/index.shtml
I'd like to get this sent to Linus soon, but wanted to run the
/proc/cpu/* stuff by l-k one last time.
- z