| From: Dan Williams <dan.j.williams@intel.com> |
| Subject: fsdax: include unmapped inodes for page-idle detection |
| Date: Fri, 14 Oct 2022 16:57:14 -0700 |
| |
| A page can remain pinned even after it has been unmapped from userspace / |
| removed from the rmap. In advance of requiring that all |
| dax_insert_entry() events are followed up 'break layouts' before a |
| truncate event, make sure that 'break layouts' can find unmapped entries. |
| |
| Link: https://lkml.kernel.org/r/166579183407.2236710.2161472385123143060.stgit@dwillia2-xfh.jf.intel.com |
| Signed-off-by: Dan Williams <dan.j.williams@intel.com> |
| Cc: Matthew Wilcox <willy@infradead.org> |
| Cc: Jan Kara <jack@suse.cz> |
| Cc: "Darrick J. Wong" <djwong@kernel.org> |
| Cc: Jason Gunthorpe <jgg@nvidia.com> |
| Cc: Christoph Hellwig <hch@lst.de> |
| Cc: John Hubbard <jhubbard@nvidia.com> |
| Cc: Alex Deucher <alexander.deucher@amd.com> |
| Cc: Alistair Popple <apopple@nvidia.com> |
| Cc: Ben Skeggs <bskeggs@redhat.com> |
| Cc: "Christian König" <christian.koenig@amd.com> |
| Cc: Daniel Vetter <daniel@ffwll.ch> |
| Cc: Dave Chinner <david@fromorbit.com> |
| Cc: David Airlie <airlied@linux.ie> |
| Cc: Felix Kuehling <Felix.Kuehling@amd.com> |
| Cc: Jerome Glisse <jglisse@redhat.com> |
| Cc: Karol Herbst <kherbst@redhat.com> |
| Cc: kernel test robot <lkp@intel.com> |
| Cc: Lyude Paul <lyude@redhat.com> |
| Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| fs/dax.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/dax.c~fsdax-include-unmapped-inodes-for-page-idle-detection |
| +++ a/fs/dax.c |
| @@ -698,7 +698,7 @@ struct page *dax_layout_busy_page_range( |
| if (IS_ENABLED(CONFIG_FS_DAX_LIMITED)) |
| return NULL; |
| |
| - if (!dax_mapping(mapping) || !mapping_mapped(mapping)) |
| + if (!dax_mapping(mapping)) |
| return NULL; |
| |
| /* If end == LLONG_MAX, all pages from start to till end of file */ |
| _ |