From linux-arm-kernel Fri Apr 16 19:18:45 2004 From: Matthias Welwarsky Date: Fri, 16 Apr 2004 19:18:45 +0000 To: linux-arm-kernel Subject: Re: On TLB flushing Message-Id: <200404162118.45805.mwelwarsky () web ! de> X-MARC-Message: https://marc.info/?l=linux-arm-kernel&m=108214260709182 On Friday 16 April 2004 20:57, Russell King - ARM Linux wrote: > On Fri, Apr 16, 2004 at 08:48:01PM +0200, Matthias Welwarsky wrote: > > On Friday 16 April 2004 17:18, Marc Singer wrote: > > > On Fri, Apr 16, 2004 at 04:10:52PM +0100, Russell King - ARM Linux wrote: > > > > Don't confuse the hardware PTE being cleared by act of clearing the > > > > young bit vs the page being unmapped. These are two completely > > > > different operations. > > > > > > I don't think I am. In the set_pte code, if the young bit is clear > > > then the hardware PTE is cleared. At any point after this, a read to > > > that page should generate a fault, but that won't happen unless the > > > TLB is cleared. > > > > Uh, interesting. In the 2.4 kernel, is the hardware PTE also being > > cleared together with the YOUNG bit? Having a page fault on the next read > > (and the YOUNG bit being set again) would be a great help in low memory > > situations, to avoid executable pages from being discarded if they were > > in use recently. > > If you look at it from the short-term point of view then yes, this > may help. However, if you really are down to that sort of low memory > situation, you'll be thrashing pages and probably won't make much > progress. > > If you did flush the PTE when you cleared the young bit, you'd increase > the number of page faults dramatically in such a situation, maybe to > the point where you'd get worse performance than freeing up the page > and re-reading it from flash or disk. > > Remember - the young/old bit is a hint, nothing more. Yes, but if the young bit is not refreshed, mapped pages that are not involved in file IO are inevitably discarded. If they're read-only, they will never again become "young" unless they're paged back in from disk. Reading a page back in from flash is no big deal, reading from disk is dead slow, and if the disk is powered down to extend battery life ... 2.5 seconds spin-up time. regards, matthias ------------------------------------------------------------------- Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel FAQ: http://www.arm.linux.org.uk/armlinux/mlfaq.php Etiquette: http://www.arm.linux.org.uk/armlinux/mletiquette.php