]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
fuse: ignore PG_workingset after stealing
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 18 Jun 2021 19:16:42 +0000 (21:16 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 18 Jun 2021 19:16:42 +0000 (21:16 +0200)
Fix the "fuse: trying to steal weird page" warning.

Description from Johannes Weiner:

  "Think of it as similar to PG_active. It's just another usage/heat
   indicator of file and anon pages on the reclaim LRU that, unlike
   PG_active, persists across deactivation and even reclaim (we store it in
   the page cache / swapper cache tree until the page refaults).

   So if fuse accepts pages that can legally have PG_active set,
   PG_workingset is fine too."

Reported-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Fixes: 1899ad18c607 ("mm: workingset: tell cache transitions from workingset thrashing")
Cc: <stable@vger.kernel.org> # v4.20
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dev.c

index a5ceccc5ef00fb61b2e6d80852185d8006d74d48..817a0b1c5c255c87e7c72603e49320bfeb625437 100644 (file)
@@ -783,6 +783,7 @@ static int fuse_check_page(struct page *page)
               1 << PG_uptodate |
               1 << PG_lru |
               1 << PG_active |
+              1 << PG_workingset |
               1 << PG_reclaim |
               1 << PG_waiters))) {
                dump_page(page, "fuse: trying to steal weird page");