Messages in this thread | | | Date | Wed, 16 Jan 2013 13:56:47 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH RESEND 2/4] sched: /proc/sched_debug fails on very very large machines. |
| |
On Tue, 15 Jan 2013 15:46:10 -0600 Nathan Zimmer <nzimmer@sgi.com> wrote:
> On systems with 4096 cores attemping to read /proc/sched_debug fails. > 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 us the single_open mechanism but to provide > our own seq_operations and treat each cpu as an individual record. > > The output should be identical to previous version. > > ... > > + int cpu = (unsigned long)(v - 2);
Again, the meaning of the magic offsets are unobvious to readers of this code.
> - SEQ_printf(m, "\n"); > + if (cpu != -1) > + print_cpu(m, cpu);
Same concerns with cpu hotplug.
> + else > + sched_debug_header(m); > > return 0; > }
| |