Messages in this thread | | | Date | Mon, 3 Nov 2014 17:56:33 +0000 | From | Will Deacon <> | Subject | Re: [RFC PATCH 1/2] zap_pte_range: update addr when forcing flush after TLB batching faiure |
| |
On Sat, Nov 01, 2014 at 05:01:30PM +0000, Linus Torvalds wrote: > On Wed, Oct 29, 2014 at 2:27 PM, Benjamin Herrenschmidt > <benh@kernel.crashing.org> wrote: > > > > TLB flushing is only me I think, I'll engage my brain after breakfast > > and see if is all good > > Ping? Breakfast is either long over, of you're starting to look a bit > like Mr Creosote...
Wafer thin patch?
> Anyway, Will, I assume this is not a correctness issue for you, just > an annoying performance issue. Right? Or is there actually some issue > with the actual range not being set to be sufficiently large?
Yeah, it's just a performance issue. For ranges over 1k pages, we end up flushing the whole TLB.
> Also, it strikes me that I *think* that you might be able to extend > your patch to remove the whole "need_flush" field, since as far as I > can tell, "tlb->need_flush" is now equivalent to "tlb->start < > tlb->end". Of course, as long as we still require that > "need_flush_all", that doesn't actually save us any space, so maybe > it's not worth changing.
We use `tlb->end > 0' in the arm64 backend, so I think you're right. I'll take a look in the name of cleanup and this can wait until 3.19.
Will
| |