+ revert-squashfs-provide-backing_dev_info-in-order-to-disable-read-ahead.patch added to mm-nonmm-unstable branch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     Subject: Revert "squashfs: provide backing_dev_info in order to disable read-ahead"
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
     revert-squashfs-provide-backing_dev_info-in-order-to-disable-read-ahead.patch

This patch will shortly appear at
     https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/revert-squashfs-provide-backing_dev_info-in-order-to-disable-read-ahead.patch

This patch will later appear in the mm-nonmm-unstable branch at
    git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

------------------------------------------------------
From: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
Subject: Revert "squashfs: provide backing_dev_info in order to disable read-ahead"
Date: Wed, 1 Jun 2022 18:39:20 +0800

Patch series "Implement readahead for squashfs", v4.

Commit c1f6925e1091("mm: put readahead pages in cache earlier") requires
fs to implement readahead callback.  Otherwise there will be a performance
regression.

Commit 9eec1d897139("squashfs: provide backing_dev_info in order to
disable read-ahead") mitigates the performance drop issue for squashfs by
closing readahead for it.

This series implements readahead callback for squashfs.  The previous
discussion are in [1] and [2].

[1] https://lore.kernel.org/all/CAJMQK-g9G6KQmH-V=BRGX0swZji9Wxe_2c7ht-MMAapdFy2pXw@xxxxxxxxxxxxxx/T/
[2] https://lore.kernel.org/linux-mm/Yn5Yij9pRPCzDozt@xxxxxxxxxxxxxxxxxxxx/t/#m4af4473b94f98a4996cb11756b633a07e5e059d1


This patch (of 3):

This reverts commit 9eec1d897139e ("squashfs: provide backing_dev_info in
order to disable read-ahead").

Revert closing the readahead to squashfs since the readahead callback
for squashfs is implemented.

Link: https://lkml.kernel.org/r/20220601103922.1338320-1-hsinyi@xxxxxxxxxxxx
Link: https://lkml.kernel.org/r/20220601103922.1338320-2-hsinyi@xxxxxxxxxxxx
Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
Suggested-by: Xiongwei Song <Xiongwei.Song@xxxxxxxxxxxxx>
Cc: Hou Tao <houtao1@xxxxxxxxxx>
Cc: kernel test robot <lkp@xxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
Cc: Miao Xie <miaoxie@xxxxxxxxxx>
Cc: Phillip Lougher <phillip@xxxxxxxxxxxxxxx>
Cc: Zhang Yi <yi.zhang@xxxxxxxxxx>
Cc: Zheng Liang <zhengliang6@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 fs/squashfs/super.c |   33 ---------------------------------
 1 file changed, 33 deletions(-)

--- a/fs/squashfs/super.c~revert-squashfs-provide-backing_dev_info-in-order-to-disable-read-ahead
+++ a/fs/squashfs/super.c
@@ -29,7 +29,6 @@
 #include <linux/module.h>
 #include <linux/magic.h>
 #include <linux/xattr.h>
-#include <linux/backing-dev.h>
 
 #include "squashfs_fs.h"
 #include "squashfs_fs_sb.h"
@@ -113,24 +112,6 @@ static const struct squashfs_decompresso
 	return decompressor;
 }
 
-static int squashfs_bdi_init(struct super_block *sb)
-{
-	int err;
-	unsigned int major = MAJOR(sb->s_dev);
-	unsigned int minor = MINOR(sb->s_dev);
-
-	bdi_put(sb->s_bdi);
-	sb->s_bdi = &noop_backing_dev_info;
-
-	err = super_setup_bdi_name(sb, "squashfs_%u_%u", major, minor);
-	if (err)
-		return err;
-
-	sb->s_bdi->ra_pages = 0;
-	sb->s_bdi->io_pages = 0;
-
-	return 0;
-}
 
 static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
 {
@@ -146,20 +127,6 @@ static int squashfs_fill_super(struct su
 
 	TRACE("Entered squashfs_fill_superblock\n");
 
-	/*
-	 * squashfs provides 'backing_dev_info' in order to disable read-ahead. For
-	 * squashfs, I/O is not deferred, it is done immediately in read_folio,
-	 * which means the user would always have to wait their own I/O. So the effect
-	 * of readahead is very weak for squashfs. squashfs_bdi_init will set
-	 * sb->s_bdi->ra_pages and sb->s_bdi->io_pages to 0 and close readahead for
-	 * squashfs.
-	 */
-	err = squashfs_bdi_init(sb);
-	if (err) {
-		errorf(fc, "squashfs init bdi failed");
-		return err;
-	}
-
 	sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL);
 	if (sb->s_fs_info == NULL) {
 		ERROR("Failed to allocate squashfs_sb_info\n");
_

Patches currently in -mm which might be from hsinyi@xxxxxxxxxxxx are

revert-squashfs-provide-backing_dev_info-in-order-to-disable-read-ahead.patch
squashfs-implement-readahead.patch




[Index of Archives]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux