On Sat, Mar 5, 2022 at 11:58 PM Christoph Hellwig <[email protected]> wrote:
>
> All of thee apply to all I/O. SG_IO is just a vector here as a
> particularly badly designed userspace interface that happens to get a
> decent test coverage.
I phrased that badly. I didn't mean SG_IO in particular, I meant any
of the "generate special commands" interfaces.
In particular, I meant it as "not *regular* read/write commands".
It seems extremely wasteful to do a completely unnecessary bounce
buffer operation for READ/WRITE commands.
Because honestly, if *those* are broken on some DMA device and they
don't fill the buffer completely - despite claiming they do - then
that device is so terminally broken that it's not even worth worrying
about.
So I would expect that
(a) READ/WRITE actually fills the whole buffer
(b) READ/WRITE are the only ones where we care about performance at a
bounce-buffer level
so it boils down to "do we still do this horrible memcpy even for
regular IO commands"? Because that would, in my opinion, just be
stupid.
Linus
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu