Page allocation failure

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

 



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
  [82029.656263] CPU: 2 PID: 31210 Comm: nageru Tainted: G        W       4.3.0-rc7 #1
  [82029.656267] Hardware name: LENOVO 20ALCT01WW/20ALCT01WW, BIOS GIET83WW (2.33 ) 08/25/2015
  [82029.656271]  ffff88015bd73ba0 ffffffff8e285d33 00000000002040d0 ffffffff8e120383
  [82029.656278]  00000000002040d0 ffff88008c9e8500 ffff88023e5fab08 0000000000000000
  [82029.656284]  0000000000000007 0000000000000050 00000000002040d0 ffff88015bd73c58
  [82029.656289] Call Trace:
  [82029.656305]  [<ffffffff8e285d33>] ? dump_stack+0x40/0x5d
  [82029.656317]  [<ffffffff8e120383>] ? warn_alloc_failed+0xd3/0x130
  [82029.656326]  [<ffffffff8e1238e6>] ? __alloc_pages_nodemask+0x2c6/0x9f0
  [82029.656334]  [<ffffffff8e167918>] ? kmem_getpages+0x58/0x100
  [82029.656339]  [<ffffffff8e16964b>] ? fallback_alloc+0x1ab/0x1e0
  [82029.656353]  [<ffffffffc00e8a66>] ? proc_do_submiturb+0x5d6/0xba0 [usbcore]
  [82029.656359]  [<ffffffff8e1699b9>] ? __kmalloc+0x2a9/0x490
  [82029.656368]  [<ffffffffc00e8a66>] ? proc_do_submiturb+0x5d6/0xba0 [usbcore]
  [82029.656376]  [<ffffffffc00e8a66>] ? proc_do_submiturb+0x5d6/0xba0 [usbcore]
  [82029.656383]  [<ffffffff8e0b80db>] ? do_futex+0x82b/0xab0
  [82029.656391]  [<ffffffffc00e9905>] ? usbdev_do_ioctl+0x8d5/0x10d0 [usbcore]
  [82029.656399]  [<ffffffffc00ea115>] ? usbdev_ioctl+0x5/0x10 [usbcore]
  [82029.656407]  [<ffffffff8e194b5e>] ? do_vfs_ioctl+0x2be/0x490
  [82029.656413]  [<ffffffff8e4cd793>] ? __schedule+0x263/0x850
  [82029.656419]  [<ffffffff8e194da1>] ? SyS_ioctl+0x71/0x80
  [82029.656425]  [<ffffffff8e0019d8>] ? prepare_exit_to_usermode+0x78/0xe0
  [82029.656431]  [<ffffffff8e4d1497>] ? entry_SYSCALL_64_fastpath+0x12/0x6a
  [82029.656434] Mem-Info:
  [82029.656446] active_anon:354800 inactive_anon:275136 isolated_anon:0
                  active_file:558226 inactive_file:620193 isolated_file:0
                  unevictable:76 dirty:419 writeback:0 unstable:0
                  slab_reclaimable:174895 slab_unreclaimable:11881
                  mapped:128309 shmem:157945 pagetables:8468 bounce:0
                  free:14319 free_pcp:216 free_cma:0
  [82029.656456] Node 0 DMA free:15864kB min:20kB low:24kB high:28kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15912kB managed:15868kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:4kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
  [82029.656468] lowmem_reserve[]: 0 2951 7916 7916
  [82029.656475] Node 0 DMA32 free:28656kB min:4212kB low:5264kB high:6316kB active_anon:483308kB inactive_anon:429384kB active_file:843100kB inactive_file:933236kB unevictable:64kB isolated(anon):0kB isolated(file):0kB present:3033320kB managed:3024944kB mlocked:64kB dirty:800kB writeback:0kB mapped:162536kB shmem:202532kB slab_reclaimable:267420kB slab_unreclaimable:14996kB kernel_stack:2096kB pagetables:11932kB unstable:0kB bounce:0kB free_pcp:160kB local_pcp:68kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
  [82029.656486] lowmem_reserve[]: 0 0 4964 4964
  [82029.656492] Node 0 Normal free:12756kB min:7088kB low:8860kB high:10632kB active_anon:935892kB inactive_anon:671160kB active_file:1389804kB inactive_file:1547536kB unevictable:240kB isolated(anon):0kB isolated(file):0kB present:5216256kB managed:5083812kB mlocked:240kB dirty:876kB writeback:0kB mapped:350700kB shmem:429248kB slab_reclaimable:432156kB slab_unreclaimable:32528kB kernel_stack:4544kB pagetables:21940kB unstable:0kB bounce:0kB free_pcp:704kB local_pcp:164kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
  [82029.656501] lowmem_reserve[]: 0 0 0 0
  [82029.656507] Node 0 DMA: 4*4kB (UE) 5*8kB (UE) 4*16kB (UE) 4*32kB (UE) 4*64kB (UE) 2*128kB (UE) 1*256kB (E) 1*512kB (E) 2*1024kB (UE) 2*2048kB (EM) 2*4096kB (M) = 15864kB
  [82029.656534] Node 0 DMA32: 1561*4kB (UEM) 1647*8kB (UEM) 435*16kB (UEM) 66*32kB (UEM) 6*64kB (UM) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 28876kB
  [82029.656553] Node 0 Normal: 2288*4kB (UEM) 219*8kB (UEM) 47*16kB (UEM) 25*32kB (M) 7*64kB (M) 1*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 13032kB
  [82029.656580] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
  [82029.656582] 1336604 total pagecache pages
  [82029.656585] 193 pages in swap cache
  [82029.656588] Swap cache stats: add 2232, delete 2039, find 315/416
  [82029.656591] Free swap  = 8259324kB
  [82029.656593] Total swap = 8265724kB
  [82029.656595] 2066372 pages RAM
  [82029.656597] 0 pages HighMem/MovableOnly
  [82029.656599] 35216 pages reserved
  [82029.656601] 0 pages hwpoisoned

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?

/* Steinar */
-- 
Homepage: http://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



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

  Powered by Linux