Re: [PATCH RESEND 2/4] sched: /proc/sched_debug fails on very verylarge machines.

From: Andrew Morton
Date: Wed Jan 16 2013 - 16:56:33 EST


On Tue, 15 Jan 2013 15:46:10 -0600
Nathan Zimmer <nzimmer@xxxxxxx> 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;
> }

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/