[PATCH] Revert "9p: Enable multipage folios"

Dominique Martinet posted 1 patch 1 month ago
fs/9p/vfs_inode.c | 1 -
1 file changed, 1 deletion(-)
[PATCH] Revert "9p: Enable multipage folios"
Posted by Dominique Martinet 1 month ago
This reverts commit 1325e4a91a405f88f1b18626904d37860a4f9069.

using multipage folios apparently break some madvise operations like
MADV_PAGEOUT which do not reliably unload the specified page anymore,

Revert the patch until that is figured out.

Reported-by: Andrii Nakryiko <andrii@kernel.org>
Fixes: 1325e4a91a40 ("9p: Enable multipage folios")
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
---
 fs/9p/vfs_inode.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index effb3aa1f3ed..fd72fc38c8f5 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -295,7 +295,6 @@ int v9fs_init_inode(struct v9fs_session_info *v9ses,
 			inode->i_op = &v9fs_file_inode_operations;
 			inode->i_fop = &v9fs_file_operations;
 		}
-		mapping_set_large_folios(inode->i_mapping);
 
 		break;
 	case S_IFLNK:

---
base-commit: 42f7652d3eb527d03665b09edac47f85fb600924
change-id: 20241024-revert_multifolio-3e117978b5c2

Best regards,
-- 
Dominique Martinet | Asmadeus
Re: [PATCH] Revert "9p: Enable multipage folios"
Posted by Andrii Nakryiko 1 month ago
+cc Linus, in case he decides the revert is necessary and wants to
apply it directly

On Wed, Oct 23, 2024 at 4:29 PM Dominique Martinet
<asmadeus@codewreck.org> wrote:
>
> This reverts commit 1325e4a91a405f88f1b18626904d37860a4f9069.
>
> using multipage folios apparently break some madvise operations like
> MADV_PAGEOUT which do not reliably unload the specified page anymore,
>
> Revert the patch until that is figured out.
>
> Reported-by: Andrii Nakryiko <andrii@kernel.org>
> Fixes: 1325e4a91a40 ("9p: Enable multipage folios")
> Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
> ---
>  fs/9p/vfs_inode.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
> index effb3aa1f3ed..fd72fc38c8f5 100644
> --- a/fs/9p/vfs_inode.c
> +++ b/fs/9p/vfs_inode.c
> @@ -295,7 +295,6 @@ int v9fs_init_inode(struct v9fs_session_info *v9ses,
>                         inode->i_op = &v9fs_file_inode_operations;
>                         inode->i_fop = &v9fs_file_operations;
>                 }
> -               mapping_set_large_folios(inode->i_mapping);
>

This fixes our issue (might be worth recording the link to original
report for the context, [0]), so:

Acked-by: Andrii Nakryiko <andrii@kernel.org>

I think the bigger question is the MADV_PAGEOUT behavior in the
presence of multi-page folios. Currently it seems fragile and
inconsistent, working for single-page folios, but not doing anything
(and not returning any error while at it) for multi-page folios (if
the theory about the root cause of an issue is right).

  [0] https://lore.kernel.org/all/20241023165606.3051029-1-andrii@kernel.org

>                 break;
>         case S_IFLNK:
>
> ---
> base-commit: 42f7652d3eb527d03665b09edac47f85fb600924
> change-id: 20241024-revert_multifolio-3e117978b5c2
>
> Best regards,
> --
> Dominique Martinet | Asmadeus
>
Re: [PATCH] Revert "9p: Enable multipage folios"
Posted by Linus Torvalds 1 month ago
On Thu, 24 Oct 2024 at 10:58, Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote:
>
> +cc Linus, in case he decides the revert is necessary and wants to
> apply it directly

Ack. Applied directly. Thanks,

                 Linus