Messages in this thread |  | | Date | Tue, 08 Jan 2013 00:08:44 -0500 | From | Rik van Riel <> | Subject | Re: [RFC]x86: clearing access bit don't flush tlb |
| |
On 01/08/2013 12:03 AM, H. Peter Anvin wrote: > On 01/07/2013 08:55 PM, Shaohua Li wrote: >> >> I searched a little bit, the change (doing TLB flush to clear access bit) is >> made between 2.6.7 - 2.6.8, I can't find the changelog, but I found a patch: >> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc2/2.6.7-rc2-mm2/broken-out/mm-flush-tlb-when-clearing-young.patch >> >> The changelog declaims this is for arm/ppc/ppc64. >> > > Not really. It says that those have stumbled over it already. It is > true in general that this change will make very frequently used pages > (which stick in the TLB) candidates for eviction.
That is only true if the pages were to stay in the TLB for a very very long time. Probably multiple seconds.
> x86 would seem to be just as affected, although possibly with a > different frequency. > > Do we have any actual metrics on anything here?
I suspect that if we do need to force a TLB flush for page reclaim purposes, it may make sense to do that TLB flush asynchronously. For example, kswapd could kick off a TLB flush of every CPU in the system once a second, when the system is under pageout pressure.
We would have to do this in a smart way, so the kswapds from multiple nodes do not duplicate the work.
If people want that kind of functionality, I would be happy to cook up an RFC patch.
-- All rights reversed
|  |