|
|
Log in / Subscribe / Register

direct io dma alignment

From:  Keith Busch <kbusch-AT-fb.com>
To:  <linux-fsdevel-AT-vger.kernel.org>, <linux-block-AT-vger.kernel.org>
Subject:  [PATCHv3 0/6] direct io dma alignment
Date:  Mon, 23 May 2022 14:01:13 -0700
Message-ID:  <20220523210119.2500150-1-kbusch@fb.com>
Cc:  <axboe-AT-kernel.dk>, Kernel Team <Kernel-team-AT-fb.com>, <hch-AT-lst.de>, <bvanassche-AT-acm.org>, <damien.lemoal-AT-opensource.wdc.com>, <ebiggers-AT-kernel.org>, Keith Busch <kbusch-AT-kernel.org>
Archive-link:  Article

From: Keith Busch <kbusch@kernel.org>

Here is the 3rd version enabling non-block aligned user space addresses
for O_DIRECT.

Changes since v2:

  Folded in improvements cleanin gup zone append pages (Christoph)

  Added documentation the exported attribute (Bart)

  Split bdev_dma_alignment() into its own patch (Christoph)

  Removed fs/ from implementing support for these address offsets for
  now

  Fixed up a couple places assuming SECTOR_SIZE multiple bv_len

On that last point, I searched through much of the code and found a few
other places that also assumed this bv_len size, but they didn't apply
to this change since they don't set 'dma_alignment'. This got me
thinking, though, should this be a new attribute, 'dio_alignment',
instead of using the pre-existing 'dma_alignment' for this purpose? Or
is it clear enough that drivers setting the existing attribute ought to
know what they're getting into?

Keith Busch (6):
  block/bio: remove duplicate append pages code
  block: export dma_alignment attribute
  block: introduce bdev_dma_alignment helper
  block/merge: count bytes instead of sectors
  block/bounce: count bytes instead of sectors
  block: relax direct io memory alignment

 Documentation/ABI/stable/sysfs-block |   9 ++
 block/bio.c                          | 118 +++++++++++++--------------
 block/blk-merge.c                    |  35 ++++----
 block/blk-sysfs.c                    |   7 ++
 block/bounce.c                       |   5 +-
 block/fops.c                         |  41 +++++++---
 include/linux/blkdev.h               |   5 ++
 7 files changed, 127 insertions(+), 93 deletions(-)

-- 
2.30.2



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds