]> www.infradead.org Git - users/hch/misc.git/commit
block: don't merge different kinds of P2P transfers in a single bio
authorChristoph Hellwig <hch@lst.de>
Sat, 10 May 2025 04:43:33 +0000 (06:43 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 17 Jun 2025 05:14:04 +0000 (07:14 +0200)
commit44fb7eda2d0ad60a614fb77a7e1a64fa22ea7d62
tree075878c8fd45b9927937703dde456a3b40293337
parent9afe652958c3ee88f24df1e4a97f298afce89407
block: don't merge different kinds of P2P transfers in a single bio

To get out of the DMA mapping helpers having to check every segment for
it's P2P status, ensure that bios either contain P2P transfers or non-P2P
transfers, and that a P2P bio only contains ranges from a single device.

This means we do the page zone access in the bio add path where it should
be still page hot, and will only have do the fairly expensive P2P topology
lookup once per bio down in the DMA mapping path, and only for already
marked bios.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
block/bio-integrity.c
block/bio.c
include/linux/blk_types.h