On Mon, 2016-04-04 at 14:22 -0700, Andrew Morton wrote: > On Mon, 4 Apr 2016 13:13:37 -0400 Johannes Weiner <hannes@xxxxxxxxxx > g> wrote: > > > > > Andres Freund observed that his database workload is struggling > > with > > the transaction journal creating pressure on frequently read pages. > > > > Access patterns like transaction journals frequently write the same > > pages over and over, but in the majority of cases those pages are > > never read back. There are no caching benefits to be had for those > > pages, so activating them and having them put pressure on pages > > that > > do benefit from caching is a bad choice. > Read-after-write is a pretty common pattern: temporary files for > example. What are the opportunities for regressions here? > > Did you consider providing userspace with a way to hint "this file is > probably write-then-not-read"? I suspect the opportunity for regressions is fairly small, considering that temporary files usually have a very short life span, and will likely be read-after-written before they get evicted from the inactive list. As for hinting, I suspect it may make sense to differentiate between whole page and partial page writes, where partial page writes use FGP_ACCESSED, and whole page writes do not, under the assumption that if we write a partial page, there may be a higher chance that other parts of the page get accessed again for other writes (or reads). I do not know whether that assumption holds :) -- All Rights Reversed.
Attachment:
signature.asc
Description: This is a digitally signed message part