Re: [PATCH v5 6/7] x86/tlb: optimizing flush_tlb_mm
From: Peter Zijlstra <hidden>
Date: 2012-05-15 10:13:21
Also in:
lkml
On Tue, 2012-05-15 at 20:06 +1000, Nick Piggin wrote:
On 15 May 2012 20:00, Peter Zijlstra [off-list ref] wrote:quoted
On Tue, 2012-05-15 at 19:52 +1000, Nick Piggin wrote:quoted
It could be warranted to change tlb_flush_mmu to a range API to avoid doing the per-entry tracking which those architectures do?The per-entry could result in a much smaller range, there's no point in flushing tlbs for unpopulated pages.Well common case for small ranges hopefully would be quite dense I think. It could be not worth the extra work (although maybe it would be).quoted
Anyway, I don't think even think we'd need to change the API for that, you could track the entire range through tlb_start_vma() if you wanted (although nobody does that IIRC).I'm not sure if you can do that very well, because the tlb might have to be flushed part way through a vma when we fill up the gather, so you don't want to flush the full range each time.
Fair enough. But that's still an entirely unrelated optimization and should go with proper benchmarking and preferably across all archs that have flush_tlb_range() :-)