On Mon, Apr 04, 2016 at 05:39:47PM -0400, Rik van Riel wrote: > 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).
The writeback cache should handle at least the multiple subpage writes case. What I find a little weird about counting accesses from partial writes only is when a write covers a full page and then parts of the next. We would cache only a small piece of what's likely one coherent chunk. Or when a user writes out several pages in a loop of subpage chunks. This will get even worse to program against when we start having page cache transparently backed by pages of different sizes. Because of that I think it'd be better to apply LRU aging decisions based on type of access rather based on specific request sizes.