On Sun, 1 Nov 2015, Steinar H. Gunderson wrote: > Hello again, > > I am (still) using libusb-1.0 to drive an USB 3.0 video card. After I turned > off power management (see previous emails :-) ) it seems stable, but after > running something like 5–6 hours, I seem to get problems on URB submission: > > [82029.656250] nageru: page allocation failure: order:7, mode:0x2040d0 ... Order 7? Maybe you're trying to put too much data into a single transfer and encountering problems with memory fragmentation. Try using more frequent, smaller transfers. > After it's gone to this point, things are basically so bad that the only > thing that really helps is a reboot; I can restart the program, but it will > only work again for a few minutes before I get the same error. > > Is there a way to get around this? I'm basically submitting the same URBs over > and over again to get isochronous data, so if possible, it would be nice to > just allocate the required memory permanently. (Zero-copy would be nice, too; > I spent a lot of CPU time in the kernel copying data around...) Do I need to > move into the kernel for that? Once the data is in the kernel, the rest of the procedure is basically zero-copy. The problem is getting it there from within your program. We currently don't have any support for zero-copy data submissions, although it has been proposed a few times in the past. Alan Stern -- 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