linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Marshall <hubcap@omnibond.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Mike Marshall <hubcap@omnibond.com>,
	Mike Marshall <hubcapsc@gmail.com>
Subject: [GIT PULL] orangefs pull request for 5.13
Date: Sun, 2 May 2021 16:45:19 -0400	[thread overview]
Message-ID: <CAOg9mSQ-p8vJ6LbSeTeNUCfu-PsT2=iS2+Kab-LYCu9h6MUu2A@mail.gmail.com> (raw)

The following changes since commit acd3d28594536e9096c1ea76c5867d8a68babef6:

  Merge tag 'fixes-v5.13' of
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
(2021-04-27 19:32:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git
tags/for-linus-5.13-ofs-1

for you to fetch changes up to 211f9f2e0503efa4023a46920e7ad07377b4ec58:

  orangefs: leave files in the page cache for a few micro seconds at
least (2021-04-29 08:06:05 -0400)

----------------------------------------------------------------
orangefs: implement orangefs_readahead

mm/readahead.c/read_pages was quite a bit different back
when I put my open-coded readahead logic into orangefs_readpage.
It seemed to work as designed then, it is a trainwreck now.

This patch implements orangefs_readahead using new xarray
and readahead_expand features that have just been pulled and
removes all my open-coded readahead logic.

This patch results in an extreme read performance improvement,
these sample numbers are from my test VM:

Here's an example of what's upstream in
5.11.8-200.fc33.x86_64:

30+0 records in
30+0 records out
125829120 bytes (126 MB, 120 MiB) copied, 5.77943 s, 21.8 MB/s

And here's this version of orangefs_readahead on top of
5.12.0-rc4:

30+0 records in
30+0 records out
125829120 bytes (126 MB, 120 MiB) copied, 0.325919 s, 386 MB/s

There are four xfstest regressions with this patch. David Howells
and Matthew Wilcox have been helping me work with this code. One
of the regressions has gone away with the most recent version of
their code that I'm using. I hope this patch can be
pulled even though there are still a few regressions, and that
we can try to get them resolved during the RC period.

----------------------------------------------------------------
Mike Marshall (2):
      Orangef: implement orangefs_readahead.
      orangefs: leave files in the page cache for a few micro seconds at least

 fs/orangefs/file.c         |  34 +++----------
 fs/orangefs/inode.c        | 122 +++++++++++++++++----------------------------
 fs/orangefs/orangefs-mod.c |   2 +-
 3 files changed, 54 insertions(+), 104 deletions(-)

             reply	other threads:[~2021-05-02 20:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-02 20:45 Mike Marshall [this message]
2021-05-02 21:37 ` [GIT PULL] orangefs pull request for 5.13 pr-tracker-bot
2021-05-02 22:58 ` Matthew Wilcox
2021-05-03 15:43   ` Mike Marshall

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='CAOg9mSQ-p8vJ6LbSeTeNUCfu-PsT2=iS2+Kab-LYCu9h6MUu2A@mail.gmail.com' \
    --to=hubcap@omnibond.com \
    --cc=hubcapsc@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).