On Mon, Nov 20, 2017 at 10:14:41PM -0700, Warner Losh wrote:
I assume you aren't talking about things like
mmap where you can't really
bcopy it...
Correct.
At Fusion I/O we had hooks into our PCIe flash card
driver that would do
DMA directly into user buffers (since we wanted IOPS and any extra copies
got in the way of that).
Yeah, cool, sorta like the SGI stuff, but that was stuff that you had to
add and SGI had to add.
The only place I can see dma right into user buffers would be if the user
blocked in the read, it was to a raw device, *and* the OS took care to make
sure that those page[s] were locked. I can see the 1st 2 but I've not run
into the last one except for specialized stuff like O_DIRECT.