x86, perf, pmu: make reserve_ds_buffers() allocate memory dynamically

From: Don Zickus
Date: Fri Jun 24 2011 - 12:02:00 EST


Hi guys,

Some kdump folks noticed that on large machines (say 80 cpu threads), the
kernel reserved a good chunk of memory in the kdump kernel with the call
to reserve_ds_buffers(). About 64k per cpu.

Normally the kdump kernel boots with maxcpus=1 to limit the amount of
processing and memory usage it needs. However, with reserve_ds_buffers()
it seems to allocate a giant chunk of memory due to its use of
for_each_possible_cpu().

I was wondering if it was possible to move some of that allocation to the
cpu_prepare/cpu_starting routines and allocate during a cpu hotplug event.
I am not sure if some of this allocation is on a per cpu basis (which
includes multiple cores) or if there is some sort of other restriction
that required the code to be statically allocated at boot time.

Thanks,
Don

--
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/