I would like to revisit Qu's proposal to not charge btrfs extent_buffer allocations to the user's cgroup. https://lore.kernel.org/linux-mm/b5fef5372ae454a7b6da4f2f75c427aeab6a07d6.1727498749.git.wqu@xxxxxxxx/ I believe it is detrimental to account these global pages to the cgroup using them, basically at random. A bit more justification and explanation in the patches themselves. --- Changelog: v4: - change the concept from "uncharged" to "kernel_file" - no longer violates the invariant that each mapped folio has a memcg when CONFIG_MEMCG=y - no longer really tied to memcg conceptually, so simplify build/helpers v3: - use mod_node_page_state since we will never count cgroup stats - include Shakeel's patch that removes a WARNING triggered by this series v2: - switch from filemap_add_folio_nocharge() to AS_UNCHARGED on the address_space. - fix an interrupt safety bug in the vmstat patch. - fix some foolish build errors for CONFIG_MEMCG=n Boris Burkov (3): mm/filemap: add AS_KERNEL_FILE mm: add vmstat for kernel_file pages btrfs: set AS_KERNEL_FILE on the btree_inode fs/btrfs/disk-io.c | 1 + include/linux/mmzone.h | 1 + include/linux/pagemap.h | 2 ++ mm/filemap.c | 13 +++++++++++++ mm/vmstat.c | 1 + 5 files changed, 18 insertions(+) -- 2.50.1