On Wed, Mar 13, 2024 at 12:05:07PM +0100, Andreas Hindborg wrote: > - Adopted the folio abstraction where applicable I don't think this was the correct move. The memory you're managing with folios is only used for storing the data being stored in the blkdev. It's not mapped to userspace, it doesn't make use of the flags (locked, uptodate, writeback, etc), it doesn't need an LRU list, a mapping, an index, a refcount or memcg. I think you should use pages instead of folios to keep a handle on this memory. Apologies for the confusion; we're in the middle of a years-long transition from the overly complex and overused struct page to splitting it into different data types for different purposes. More detail on this here, if you're interested: https://kernelnewbies.org/MatthewWilcox/Memdescs