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

From: Alex Shi
Date: Tue May 15 2012 - 09:24:50 EST


On 05/15/2012 05:15 PM, Nick Piggin wrote:

> So this should go to linux-arch...
>
> On 15 May 2012 18:55, Alex Shi <alex.shi@xxxxxxxxx> wrote:
>> Not every flush_tlb_mm execution moment is really need to evacuate all
>> TLB entries, like in munmap, just few 'invlpg' is better for whole
>> process performance, since it leaves most of TLB entries for later
>> accessing.
>>
>> This patch is changing flush_tlb_mm(mm) to flush_tlb_mm(mm, start, end)
>> in cases.
>
> What happened with Peter's comment about using flush_tlb_range for this?
>
> flush_tlb_mm() API should just stay unchanged AFAIKS.
>
> Then you need to work out the best way to give range info to the tlb/mmu gather
> API. Possibly passing in the rage for that guy is OK, which x86 can
> then implement
> as flush range.


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)

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