sched: Fix /proc/sched_stat failure on very very large systems
authorNathan Zimmer <nzimmer@sgi.com>
Thu, 21 Feb 2013 23:15:08 +0000 (15:15 -0800)
committerIngo Molnar <mingo@kernel.org>
Fri, 22 Feb 2013 09:27:24 +0000 (10:27 +0100)
commitcb152ff26717961b10d0888cd983ba284cb99cd1
treefa23de9f176321a54e60529e21389f1ac930bc30
parent1c3e826482ab698e418c7a894440e62c76aac893
sched: Fix /proc/sched_stat failure on very very large systems

On systems with 4096 cores doing a cat /proc/sched_stat fails,
because we are trying to push all the data into a single kmalloc
buffer.

The issue is on these very large machines all the data will not
fit in 4mb.

A better solution is to not use the single_open() mechanism but
to provide our own seq_operations.

The output should be identical to previous version and thus not
need the version number.

Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: Nathan Zimmer <nzimmer@sgi.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wu Fengguang <fengguang.wu@intel.com>
[ Fix memleak]
[ Fix spello in comment]
[ Fix warnings]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/stats.c