On Tue, Apr 18, 2023 at 03:12:48PM -0400, Johannes Weiner wrote: > While inspecting page blocks for the type of pages in them, I noticed > a large number of blockdev cache in unmovable blocks. However, these > pages are actually on the LRU, and their mapping has a .migrate_folio > callback; they can be reclaimed and compacted as necessary. > > Put them into movable blocks, so they don't cause pollution, and > subsequent proliferation, of unmovable blocks. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Deserves to be split out and needs careful treatment. I don't recall exactly but I believe I encountered a problem with these allocations in the very distant past. Some of the allocations were movable and others weren't or had very long lifetimes. Something like being superblock-related or directory inodes being pinned for very long lengths of time. This is a *long* time ago and the picture almost certainly has changed but it's very possible that a high percentage, but not 100% of these allocations are not movable in practice. -- Mel Gorman SUSE Labs