From: Eric Biggers <ebiggers@kernel.org>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: Keith Busch <kbusch@fb.com>, Jaegeuk Kim <jaegeuk@kernel.org>,
Chao Yu <chao@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
linux-nvme@lists.infradead.org, axboe@kernel.dk,
Kernel Team <Kernel-team@fb.com>,
hch@lst.de, bvanassche@acm.org, damien.lemoal@opensource.wdc.com,
pankydev8@gmail.com, Keith Busch <kbusch@kernel.org>,
linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [PATCHv6 11/11] iomap: add support for dma aligned direct-io
Date: Fri, 22 Jul 2022 18:12:40 +0000 [thread overview]
Message-ID: <YtromC4cR5a0mog8@gmail.com> (raw)
In-Reply-To: <YtrkJgwOmCGqPO3E@magnolia>
On Fri, Jul 22, 2022 at 10:53:42AM -0700, Darrick J. Wong wrote:
> On Fri, Jul 22, 2022 at 12:36:01AM -0700, Eric Biggers wrote:
> > [+f2fs list and maintainers]
> >
> > On Fri, Jun 10, 2022 at 12:58:30PM -0700, Keith Busch wrote:
> > > From: Keith Busch <kbusch@kernel.org>
> > >
> > > Use the address alignment requirements from the block_device for direct
> > > io instead of requiring addresses be aligned to the block size.
> > >
> > > Signed-off-by: Keith Busch <kbusch@kernel.org>
> > > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > > ---
> > > fs/iomap/direct-io.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
> > > index 370c3241618a..5d098adba443 100644
> > > --- a/fs/iomap/direct-io.c
> > > +++ b/fs/iomap/direct-io.c
> > > @@ -242,7 +242,6 @@ static loff_t iomap_dio_bio_iter(const struct iomap_iter *iter,
> > > struct inode *inode = iter->inode;
> > > unsigned int blkbits = blksize_bits(bdev_logical_block_size(iomap->bdev));
> > > unsigned int fs_block_size = i_blocksize(inode), pad;
> > > - unsigned int align = iov_iter_alignment(dio->submit.iter);
> > > loff_t length = iomap_length(iter);
> > > loff_t pos = iter->pos;
> > > unsigned int bio_opf;
> > > @@ -253,7 +252,8 @@ static loff_t iomap_dio_bio_iter(const struct iomap_iter *iter,
> > > size_t copied = 0;
> > > size_t orig_count;
> > >
> > > - if ((pos | length | align) & ((1 << blkbits) - 1))
> > > + if ((pos | length) & ((1 << blkbits) - 1) ||
> > > + !bdev_iter_is_aligned(iomap->bdev, dio->submit.iter))
>
> How does this change intersect with "make statx() return DIO alignment
> information" ? Will the new STATX_DIOALIGN implementations have to be
> adjusted to set stx_dio_mem_align = bdev_dma_alignment(...)?
>
> I'm guessing the answer is yes, but I haven't seen any patches on the
> list to do that, but more and more these days email behaves like a flood
> of UDP traffic... :(
>
Yes. I haven't done that in the STATX_DIOALIGN patchset yet because I've been
basing it on upstream, which doesn't yet have this iomap patch. I haven't been
expecting STATX_DIOALIGN to make 5.20, given that it's a new UAPI that needs
time to be properly reviewed, plus I've just been busy with other things. So
I've been planning to make the above change after this patch lands upstream.
- Eric
next prev parent reply other threads:[~2022-07-22 18:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220610195830.3574005-1-kbusch@fb.com>
[not found] ` <20220610195830.3574005-8-kbusch@fb.com>
2022-06-13 14:22 ` [PATCHv6 07/11] block/bounce: count bytes instead of sectors Christoph Hellwig
2022-07-22 22:01 ` Bart Van Assche
2022-07-25 14:46 ` Keith Busch
2022-06-13 21:22 ` [PATCHv6 00/11] direct-io dma alignment Jens Axboe
[not found] ` <20220610195830.3574005-12-kbusch@fb.com>
2022-06-23 18:29 ` [PATCHv6 11/11] iomap: add support for dma aligned direct-io Eric Farman
2022-06-23 18:51 ` Keith Busch
2022-06-23 19:11 ` Keith Busch
2022-06-23 20:32 ` Eric Farman
2022-06-23 21:34 ` Eric Farman
2022-06-27 15:21 ` Eric Farman
2022-06-27 15:36 ` Keith Busch
2022-06-28 9:00 ` Halil Pasic
2022-06-28 15:20 ` Eric Farman
2022-06-29 3:18 ` Eric Farman
2022-06-29 3:52 ` Keith Busch
2022-06-29 18:04 ` Eric Farman
2022-06-29 19:07 ` Keith Busch
2022-06-29 19:28 ` Eric Farman
2022-06-30 5:45 ` Christian Borntraeger
2022-07-22 7:36 ` Eric Biggers
2022-07-22 14:43 ` Keith Busch
2022-07-22 18:01 ` Eric Biggers
2022-07-22 20:26 ` Keith Busch
2022-07-25 18:19 ` Eric Biggers
2022-07-24 2:13 ` Jaegeuk Kim
2022-07-22 17:53 ` Darrick J. Wong
2022-07-22 18:12 ` Eric Biggers [this message]
2022-07-23 5:03 ` Darrick J. Wong
[not found] ` <20220610195830.3574005-6-kbusch@fb.com>
2022-07-22 21:53 ` [PATCHv6 05/11] block: add a helper function for dio alignment Bart Van Assche
[not found] ` <20220610195830.3574005-7-kbusch@fb.com>
2022-07-22 21:57 ` [PATCHv6 06/11] block/merge: count bytes instead of sectors Bart Van Assche
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=YtromC4cR5a0mog8@gmail.com \
--to=ebiggers@kernel.org \
--cc=Kernel-team@fb.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=chao@kernel.org \
--cc=damien.lemoal@opensource.wdc.com \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=jaegeuk@kernel.org \
--cc=kbusch@fb.com \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=pankydev8@gmail.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).