On Wed, Nov 18, 2015 at 3:02 PM, Christoph Hellwig <hch@xxxxxx> wrote: > On Tue, Nov 17, 2015 at 02:07:58PM -0500, Alan Stern wrote: >> If we really want to do zerocopy I/O then we should not use a bounce >> buffer. But the only way to avoid bounce buffers may be to give user >> programs a way of allocating memory pages below 4 GB, because lots of >> USB hardware can only do 32-bit DMA. > > But any system worth it's money these days has an IOMMU. > you're definitely wrong with that routers, smartphones, settopboxes, NAS systems, etc. seems like you're sticking with X86 platform. USB is the most versatile bus system out there you'll find it in the range from embedded microprocessors up to high end systems. You will always have to expect that some system will not or some architecture will never support IOMMU due cut down design limitations out there. >> Is there an API for allocating user memory below 4 GB? Would a new >> MMAP flag be acceptable? > > You'll have to ask the MM folks. But I doubt they will be excited about it. Markus -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html