On Tue, 2025-01-28 at 08:59 +0000, Johannes Thumshirn wrote: > On 28.01.25 09:45, Hans Holmberg wrote: > > > I think that Direct IO could benefit too. The question here how to account dirty > > > memory pages and updated memory pages. Currently, I am using > > > folio_account_dirtied() and folio_clear_dirty_for_io() to implement the > > > calculation the temperature. As far as I can see, Direct IO requires another > > > methods of doing this. The rest logic can be the same. > > > > It's probably a good idea to cover direct IO as well then as this is > > intended to be a generalized framework. > > Especially given that most applications that really care about data > lifetimes, write amplification etc are heavy users of direct I/O. I believe smartphones is really huge use-case. And LFS and GC based file systems are used there. So, page cache based approach makes sense for such file systems to manage data placement policy efficiently. I like this suggestion related to Direct IO case. But it needs to elaborate the way to proper manage dirty and updated memory pages calculation for Direct IO case. Thanks, Slava.