[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <982324f4-b8a5-4c53-a799-bbe75f7a0e30@nvidia.com>
Date: Wed, 12 Nov 2025 23:57:58 +0000
From: Chaitanya Kulkarni <chaitanyak@...dia.com>
To: Leon Romanovsky <leon@...nel.org>, Jens Axboe <axboe@...nel.dk>, Keith
Busch <kbusch@...nel.org>, Christoph Hellwig <hch@....de>, Sagi Grimberg
<sagi@...mberg.me>
CC: "linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-nvme@...ts.infradead.org" <linux-nvme@...ts.infradead.org>
Subject: Re: [PATCH v4 2/2] block-dma: properly take MMIO path
On 11/12/25 11:48, Leon Romanovsky wrote:
> From: Leon Romanovsky<leonro@...dia.com>
>
> In commit eadaa8b255f3 ("dma-mapping: introduce new DMA attribute to
> indicate MMIO memory"), DMA_ATTR_MMIO attribute was added to describe
> MMIO addresses, which require to avoid any memory cache flushing, as
> an outcome of the discussion pointed in Link tag below.
>
> In case of PCI_P2PDMA_MAP_THRU_HOST_BRIDGE transfer, blk-mq-dm logic
> treated this as regular page and relied on "struct page" DMA flow.
> That flow performs CPU cache flushing, which shouldn't be done here,
> and doesn't set IOMMU_MMIO flag in DMA-IOMMU case.
>
> As a solution, let's encode peer-to-peer transaction type in NVMe IOD
> flags variable and provide it to blk-mq-dma API.
>
> Link:https://lore.kernel.org/all/f912c446-1ae9-4390-9c11-00dce7bf0fd3@arm.com/
> Reviewed-by: Christoph Hellwig<hch@....de>
Looks good.
Reviewed-by: Chaitanya Kulkarni <kch@...dia.com>
-ck
Powered by blists - more mailing lists