]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
fuse: ignore PG_workingset after stealing
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 18 Jun 2021 19:16:42 +0000 (21:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jul 2021 14:53:08 +0000 (16:53 +0200)
commit b89ecd60d38ec042d63bdb376c722a16f92bcb88 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/fuse/dev.c

index 40c262b3f9ff598d49cc5ac4e78ecbd0bc5fc531..56dcec572b0ad88b59f5550e76f6ce03bc8aff31 100644 (file)
@@ -770,6 +770,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))) {
                pr_warn("trying to steal weird page\n");