Re: [PATCH] block: streamline meta bounce buffer handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 06, 2024 at 06:16:45PM +0530, Kanchan Joshi wrote:
> Nvme and io_uring (Patch 2, 3, 4) get nice wins because of keeping the 
> user memory pinned even for bounce-buffer case.

In that case the data path should be doing the same.

> > Sort of related to that is that this does driver the copy to user and
> > unpin from bio_integrity_free, which is a low-level routine.  It really
> > should be driven from the highlevel blk-map code that is the I/O
> > submitter, just like the data side.  Shoe-horning uaccess into the
> > low-level block layer plumbing is just going to get us into trouble.
> > 
> 
> Not sure I follow, but citing this nvme patch again:
> https://lore.kernel.org/linux-block/20231130215309.2923568-3-kbusch@xxxxxxxx/
> Driver does not need to know whether meta was handled by pinning or by 
> using bounce buffer. Everything is centrally handled in 
> block/bio-integrity.c.

But the low-level bio code does, and it absolutely should not.  And
while I should have caught this earlier we really need to stop undoing
all the sanity we got by clearly splitting the submitter side from
the consumer side of the bio, as that will lead us straight back
into the mess we had before.




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux