Re: [PATCH v5 6/7] x86/tlb: optimizing flush_tlb_mm

From: Alex Shi
Date: Wed May 16 2012 - 02:48:09 EST


On 05/15/2012 10:57 PM, Peter Zijlstra wrote:

> On Tue, 2012-05-15 at 16:36 +0200, Peter Zijlstra wrote:
>> On Tue, 2012-05-15 at 21:24 +0800, Alex Shi wrote:
>>
>>> Sorry. I don't understand what's the comments Peter's made days ago. I should ask for more details originally.
>>>
>>> So, Peter, the correct change should like following, am I right?
>>>
>>> -#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
>>> +#define tlb_flush(tlb, start, end) __flush_tlb_range((tlb)->mm, start, end)
>>
>> No.. the correct change is to do range tracking like the other archs
>> that support flush_tlb_range() do.
>>
>> You do not modify the tlb interface.
>>
>> Again, see: http://marc.info/?l=linux-arch&m=129952026504268&w=2
>
> Just to be _very_ clear, you do not modify:
>
> mm/memory.c | 9 ++--
> kernel/fork.c | 2 +-
> fs/proc/task_mmu.c | 2 +-
>
> As it stands your patch breaks compilation on a whole bunch of
> architectures.
>
> If you touch the TLB interface, you get to touch _ALL_ architectures.



Thanks for Nick and Peter's comments. I rewrite the patch according to
your opinions. Is this met your expectation?

----