]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
blk-mq: remove REQ_P2PDMA flag
authorKeith Busch <kbusch@kernel.org>
Wed, 13 Aug 2025 15:31:48 +0000 (08:31 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Aug 2025 13:44:39 +0000 (07:44 -0600)
It's not serving any particular purpose. pci_p2pdma_state() already has
all the appropriate checks, so the config and flag checks are not
guarding anything.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20250813153153.3260897-5-kbusch@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/blk-mq-dma.c
include/linux/blk_types.h

index 3b371a5da159e9137ab41e4b34af110886d313cb..44c43b970387516a2000891145cd4786f934cf95 100644 (file)
@@ -981,7 +981,7 @@ void __bio_add_page(struct bio *bio, struct page *page,
        WARN_ON_ONCE(bio_full(bio, len));
 
        if (is_pci_p2pdma_page(page))
-               bio->bi_opf |= REQ_P2PDMA | REQ_NOMERGE;
+               bio->bi_opf |= REQ_NOMERGE;
 
        bvec_set_page(&bio->bi_io_vec[bio->bi_vcnt], page, len, off);
        bio->bi_iter.bi_size += len;
index 8f41fe740b465f27b362f7c1e7318e7ae3fca222..58defab2188230608f4cd97261eb1493c348ab47 100644 (file)
@@ -180,22 +180,20 @@ bool blk_rq_dma_map_iter_start(struct request *req, struct device *dma_dev,
        if (!blk_map_iter_next(req, &iter->iter, &vec))
                return false;
 
-       if (IS_ENABLED(CONFIG_PCI_P2PDMA) && (req->cmd_flags & REQ_P2PDMA)) {
-               switch (pci_p2pdma_state(&iter->p2pdma, dma_dev,
-                                        phys_to_page(vec.paddr))) {
-               case PCI_P2PDMA_MAP_BUS_ADDR:
-                       return blk_dma_map_bus(iter, &vec);
-               case PCI_P2PDMA_MAP_THRU_HOST_BRIDGE:
-                       /*
-                        * P2P transfers through the host bridge are treated the
-                        * same as non-P2P transfers below and during unmap.
-                        */
-                       req->cmd_flags &= ~REQ_P2PDMA;
-                       break;
-               default:
-                       iter->status = BLK_STS_INVAL;
-                       return false;
-               }
+       switch (pci_p2pdma_state(&iter->p2pdma, dma_dev,
+                                phys_to_page(vec.paddr))) {
+       case PCI_P2PDMA_MAP_BUS_ADDR:
+               return blk_dma_map_bus(iter, &vec);
+       case PCI_P2PDMA_MAP_THRU_HOST_BRIDGE:
+               /*
+                * P2P transfers through the host bridge are treated the
+                * same as non-P2P transfers below and during unmap.
+                */
+       case PCI_P2PDMA_MAP_NONE:
+               break;
+       default:
+               iter->status = BLK_STS_INVAL;
+               return false;
        }
 
        if (blk_can_dma_map_iova(req, dma_dev) &&
index 09b99d52fd365fedcab5526fd754de991cb0fa5c..930daff207df2cf80cf8831e6e5a1daab225d2e9 100644 (file)
@@ -386,7 +386,6 @@ enum req_flag_bits {
        __REQ_DRV,              /* for driver use */
        __REQ_FS_PRIVATE,       /* for file system (submitter) use */
        __REQ_ATOMIC,           /* for atomic write operations */
-       __REQ_P2PDMA,           /* contains P2P DMA pages */
        /*
         * Command specific flags, keep last:
         */
@@ -419,7 +418,6 @@ enum req_flag_bits {
 #define REQ_DRV                (__force blk_opf_t)(1ULL << __REQ_DRV)
 #define REQ_FS_PRIVATE (__force blk_opf_t)(1ULL << __REQ_FS_PRIVATE)
 #define REQ_ATOMIC     (__force blk_opf_t)(1ULL << __REQ_ATOMIC)
-#define REQ_P2PDMA     (__force blk_opf_t)(1ULL << __REQ_P2PDMA)
 
 #define REQ_NOUNMAP    (__force blk_opf_t)(1ULL << __REQ_NOUNMAP)