Re: [GIT PATCH] x86,percpu: fix pageattr handling with remap allocator

Tejun Heo
2009-05-21T23:17:23Z

Hello, Suresh.

Suresh Siddha wrote:
> On Wed, 2009-05-20 at 18:46 -0700, Tejun Heo wrote:
>> Yes it will. The question is which way would be better. Till now,
>> there hasn't been any actual data on how remap compares to 4k.
>
> I am not sure if we see any measurable difference. Even if we use 4k
> entries, it will be few entries that kernel will be referring to
> frequently.

Yeah, I hope so too but I *really* want to see some numbers before
taking further actions. Remap is chosen as the default because it
deviates less from the original behavior but I'll be excited to drop
it if 4k works just fine.

>> On NUMA, both remap and 4k add some level of TLB pressure. remap will
>> waste one more PMD TLB entry (dup) while 4k adds a bunch of 4k ones
>> (non-dup but what used to be accessed by PMD TLB is now accessed with
>> PTE TLB). Some say using one more PMD TLB is better while others
>> disagree. So, the best course of action here seems to offer both and
>> easy way to select between them so that data can be gathered, which is
>> what this patchset does.
>
> So with the planned future change of percpu unit allocation during cpu
> online, you are planning to try large page allocation first and then
> fallback to 4k pages, if that doesn't succeed. And then populate new
> percpu ptr accordingly and then sort wrt to other cpu ptr's, so that we
> can keep aliases in sync for future(and in parallel) cpa()'s that might
> be happening.
>
> There is nothing wrong with all this. Just the code complexity (and
> maintenance) for what we are trying to gain ;)

No, I'll let the first chunk allocation happen the same way for cpus
available on boot and then just do 4k allocations for whatever
necessary afterward. The needed code change in percpu proper isn't
that big. What would take more effort is auditing all percpu users.

Thanks.

--
tejun