aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorEric Dumazet <[email protected]>2012-03-23 22:02:53 +0000
committerLinus Torvalds <[email protected]>2012-03-23 23:58:42 +0000
commit59a32e2ce5eb809967cac4e718bc527beca83c59 (patch)
tree3024b71063f497c138680c36c5f7ce2dee563680 /fs/proc/array.c
parentfs/proc/kcore.c: make get_sparsemem_vmemmap_info() static (diff)
downloadkernel-59a32e2ce5eb809967cac4e718bc527beca83c59.tar.gz
kernel-59a32e2ce5eb809967cac4e718bc527beca83c59.zip
proc: speed up /proc/stat handling
On a typical 16 cpus machine, "cat /proc/stat" gives more than 4096 bytes, and is slow : # strace -T -o /tmp/STRACE cat /proc/stat | wc -c 5826 # grep "cpu " /tmp/STRACE read(0, "cpu 1949310 19 2144714 12117253"..., 32768) = 5826 <0.001504> Thats partly because show_stat() must be called twice since initial buffer size is too small (4096 bytes for less than 32 possible cpus) Fix this by : 1) Taking into account nr_irqs in the initial buffer sizing. 2) Using ksize() to allow better filling of initial buffer. Signed-off-by: Eric Dumazet <[email protected]> Cc: Glauber Costa <[email protected]> Cc: Russell King - ARM Linux <[email protected]> Cc: KAMEZAWA Hiroyuki <[email protected]> Cc: Paul Turner <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Alexey Dobriyan <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions