Re: Page allocation failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux