Re: [PATCH v5 2/4] KVM: X86: Add paravirt remote TLB flush

From: Wanpeng Li
Date: Thu Nov 16 2017 - 03:52:07 EST


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