On Tue, Nov 17, 2015 at 03:16:55PM -0500, Alan Stern wrote: >>> But what other way of allocating memory is there? >> For my part, GPU memory versus malloc(). (You can ask OpenGL to permanently >> map up a chunk of GPU memory for you into userspace, but you have no >> guarantees as of if it's DMA-able. But typical memory from malloc() might.) > I don't think there's any reason to expect malloc to provide memory > where you need it. Also, since the memory it provides isn't locked, > the kernel can move it to any physical address. Well, fair enough, given that it can be moved. But for a system with <4GB RAM, I would be pretty sure. (In my hypothetical situation, my priority list would be 1. Zerocopy to GPU memory and process using compute shaders, 2. Zerocopy to CPU memory and process using AVX2, 3. Non-zerocopy to GPU memory. But in reality, I'm probably too lazy to maintain two code paths.) > xHCI always uses 64-bit addresses. But many EHCI controllers don't, > and only a few of the EHCI platform drivers support 64-bit DMA. OK, sure. But are systems with USB2 only and more than 4GB of RAM common? (And will they not increasingly die out, if nothing else as USB3 becomes commonplace?) /* Steinar */ -- Homepage: https://www.sesse.net/ -- 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