On 05/15/2012 05:18 PM, Peter Zijlstra wrote: > On Tue, 2012-05-15 at 19:15 +1000, 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. > > Right, most archs that have tlb_flush_range() do range tracking in > mmu_gather. Our TLB ops fully support that, there's absolutely no need > to go change the interface for thos. Ok. this should be your wanted, -#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) +#define tlb_flush(tlb, start, end) __flush_tlb_range((tlb)->mm, start, end) If no objection, I will modify the patch accordingly. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html