linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Phillip Lougher <phillip@squashfs.org.uk>
To: linux-kernel@vger.kernel.org, akpm@linux-foundation.org
Cc: willy@infradead.org, hsinyi@chromium.org,
	Xiongwei.Song@windriver.com, linux-mm@kvack.org,
	squashfs-devel@lists.sourceforge.net,
	Phillip Lougher <phillip@squashfs.org.uk>
Subject: [PATCH 0/2] Squashfs: handle missing pages decompressing into page cache
Date: Sat, 11 Jun 2022 04:21:31 +0100	[thread overview]
Message-ID: <20220611032133.5743-1-phillip@squashfs.org.uk> (raw)

Hi all,

This patch-set enables Squashfs to handle missing pages when directly
decompressing datablocks into the page cache.

Previously if the full set of pages needed was not available, Squashfs
would have to fall back to using an intermediate buffer (the older
method), which is slower, involving a memcopy, and it introduces
contention on a shared buffer.

The first patch extends the "page actor" code to handle missing pages.

The second patch updates Squashfs_readpage_block() to use the new
functionality, and removes the code that falls back to using
an intermediate buffer.

This patch-set is independent of the readahead work, and it is
standalone.  It can be merged on its own.

But the readahead patch for efficiency also needs this patch-set.

Phillip

----------------------------------------------------------------
Phillip Lougher (2):
      Squashfs: extend "page actor" to handle missing pages
      Squashfs: don't use intermediate buffer if pages missing

 fs/squashfs/block.c        | 10 ++++--
 fs/squashfs/decompressor.h |  1 +
 fs/squashfs/file_direct.c  | 90 +++++++++++-----------------------------------
 fs/squashfs/lz4_wrapper.c  |  7 ++--
 fs/squashfs/lzo_wrapper.c  |  7 ++--
 fs/squashfs/page_actor.c   | 67 ++++++++++++++++++++++++++++------
 fs/squashfs/page_actor.h   | 17 +++++++--
 fs/squashfs/xz_wrapper.c   | 11 +++++-
 fs/squashfs/zlib_wrapper.c | 12 ++++++-
 fs/squashfs/zstd_wrapper.c | 12 ++++++-
 10 files changed, 142 insertions(+), 92 deletions(-)


             reply	other threads:[~2022-06-11  3:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-11  3:21 Phillip Lougher [this message]
2022-06-11  3:21 ` [PATCH 1/2] Squashfs: extend "page actor" to handle missing pages Phillip Lougher
2022-06-11  3:21 ` [PATCH 2/2] Squashfs: don't use intermediate buffer if pages missing Phillip Lougher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220611032133.5743-1-phillip@squashfs.org.uk \
    --to=phillip@squashfs.org.uk \
    --cc=Xiongwei.Song@windriver.com \
    --cc=akpm@linux-foundation.org \
    --cc=hsinyi@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=squashfs-devel@lists.sourceforge.net \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox