From: "NeilBrown" <neilb@suse.de>
To: "Christoph Hellwig" <hch@infradead.org>
Cc: "Trond Myklebust" <trond.myklebust@hammerspace.com>,
"Anna Schumaker" <anna.schumaker@netapp.com>,
"Chuck Lever" <chuck.lever@oracle.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Mel Gorman" <mgorman@suse.de>,
linux-nfs@vger.kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Subject: Re: [PATCH 12/13] MM: use AIO/DIO for reads from SWP_FS_OPS swap-space
Date: Wed, 17 Nov 2021 08:46:14 +1100 [thread overview]
Message-ID: <163709917463.13692.6685266362531701682@noble.neil.brown.name> (raw)
In-Reply-To: <YZNsf5yvfb8+SiqB@infradead.org>
On Tue, 16 Nov 2021, Christoph Hellwig wrote:
> On Tue, Nov 16, 2021 at 01:44:04PM +1100, NeilBrown wrote:
> > When pages a read from SWP_FS_OPS swap-space, the reads are submitted as
> > separate reads for each page. This is generally less efficient than
> > larger reads.
> >
> > We can use the block-plugging infrastructure to delay submitting the
> > read request until multiple contigious pages have been collected. This
> > requires using ->direct_IO to submit the read (as ->readpages isn't
> > suitable for swap).
>
> Abusing the block code here seems little ugly. Also this won't
> compile if CONFIG_BLOCK is not set, will it?
There is nothing really block-layer-specific about the plugging
interfaces. I think it would be quite reasonable to move them to lib/
But you are correct that currently without CONFIG_BLOCK the code will
compile but not work.
>
> What is the problem with just batching up manually?
That would require a bigger change to common code, which would only
benefit one user. The plugging mechanism works well for batching
requests to a block device. Why not use it for non-block-devices too?
Thanks,
NeilBrown
>
> > + /* nofs needs as ->direct_IO may take the same mutex it takes for write */
>
> Overly long line.
>
>
next prev parent reply other threads:[~2021-11-16 21:46 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-16 2:44 [PATCH 00/13] Repair SWAP-over-NFS NeilBrown
2021-11-16 2:44 ` [PATCH 09/13] SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC NeilBrown
2021-11-16 2:44 ` [PATCH 11/13] NFS: swap-out must always use STABLE writes NeilBrown
2021-11-16 2:44 ` [PATCH 02/13] NFS: do not take i_rwsem for swap IO NeilBrown
2021-11-16 7:52 ` Christoph Hellwig
2021-11-16 21:50 ` NeilBrown
2021-11-17 5:49 ` Christoph Hellwig
2021-11-16 2:44 ` [PATCH 08/13] NFS: discard NFS_RPC_SWAPFLAGS and RPC_TASK_ROOTCREDS NeilBrown
2021-11-16 2:44 ` [PATCH 01/13] NFS: move generic_write_checks() call from nfs_file_direct_write() to nfs_file_write() NeilBrown
2021-11-16 2:44 ` [PATCH 07/13] SUNRPC: remove scheduling boost for "SWAPPER" tasks NeilBrown
2021-11-16 2:44 ` [PATCH 10/13] NFSv4: keep state manager thread active if swap is enabled NeilBrown
2021-11-16 2:44 ` [PATCH 05/13] SUNRPC/auth: async tasks mustn't block waiting for memory NeilBrown
2021-11-16 2:44 ` [PATCH 04/13] SUNRPC/call_alloc: " NeilBrown
2021-11-16 2:44 ` [PATCH 13/13] MM: use AIO for DIO writes to swap NeilBrown
2021-11-16 2:44 ` [PATCH 06/13] SUNRPC/xprt: async tasks mustn't block waiting for memory NeilBrown
2021-11-16 2:44 ` [PATCH 03/13] MM: reclaim mustn't enter FS for swap-over-NFS NeilBrown
2021-11-16 8:32 ` Christoph Hellwig
2021-11-16 21:35 ` NeilBrown
2021-11-17 5:50 ` Christoph Hellwig
2021-11-18 1:43 ` kernel test robot
2021-11-16 2:44 ` [PATCH 12/13] MM: use AIO/DIO for reads from SWP_FS_OPS swap-space NeilBrown
2021-11-16 8:31 ` Christoph Hellwig
2021-11-16 21:46 ` NeilBrown [this message]
2021-11-16 3:29 ` [PATCH 00/13] Repair SWAP-over-NFS Matthew Wilcox
2021-11-16 3:55 ` NeilBrown
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=163709917463.13692.6685266362531701682@noble.neil.brown.name \
--to=neilb@suse.de \
--cc=akpm@linux-foundation.org \
--cc=anna.schumaker@netapp.com \
--cc=chuck.lever@oracle.com \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=trond.myklebust@hammerspace.com \
/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).