| From b89ecd60d38ec042d63bdb376c722a16f92bcb88 Mon Sep 17 00:00:00 2001 |
| From: Miklos Szeredi <mszeredi@redhat.com> |
| Date: Fri, 18 Jun 2021 21:16:42 +0200 |
| Subject: fuse: ignore PG_workingset after stealing |
| |
| From: Miklos Szeredi <mszeredi@redhat.com> |
| |
| 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 | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/fs/fuse/dev.c |
| +++ b/fs/fuse/dev.c |
| @@ -783,6 +783,7 @@ static int fuse_check_page(struct 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"); |