2017-11-16 16:38 GMT+08:00 Peter Zijlstra <peterz@xxxxxxxxxxxxx>: > On Thu, Nov 16, 2017 at 01:30:57PM +0800, Wanpeng Li wrote: >> -static DEFINE_PER_CPU(cpumask_var_t, __pv_tlb_mask); >> +static DEFINE_PER_CPU(cpumask_t, __pv_tlb_mask); > > NR_CPUS=512 is a fairly common distro setting, that means cpumask_t is > 64 bytes. So for my 144 CPU system, that is 9216 bytes I'll never see > again. > > Not nice :/ Refer to "DECLARE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map)" in arch/ia64/include/asm/smp.h, it also defines variable directly, however, some other archs are not. kvmclock_init() is also called very early during boot, it utilizes memblock to alloc some memory. Regards, Wanpeng Li