| 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