[rt2x00-users] [RFT] rt2x00: Use GFP_KERNEL for rx buffer allocation on USB devices

Buy Sell 604buysell at gmail.com
Sun May 6 16:34:48 EST 2012


after running it for a month, it throws this exception. I am not sure if this related with this patch or not.

[173379.837599] kworker/u:0: page allocation failure: order:1, mode:0x4020
[173379.837611] Pid: 9291, comm: kworker/u:0 Not tainted 3.2.0-23-generic #36-Ubuntu
[173379.837617] Call Trace:
[173379.837634]  [<c1561d5f>] ? printk+0x2d/0x2f
[173379.837645]  [<c10eb2df>] warn_alloc_failed+0xbf/0x100
[173379.837653]  [<c10ee083>] __alloc_pages_nodemask+0x513/0x6e0
[173379.837664]  [<c1120664>] allocate_slab+0xd4/0xe0
[173379.837671]  [<c1120697>] new_slab+0x27/0x120
[173379.837682]  [<c14ad3df>] ? ip_output+0xaf/0xc0
[173379.837690]  [<c156625c>] __slab_alloc.constprop.68+0x11a/0x1e5
[173379.837700]  [<c147151e>] ? skb_copy+0x3e/0xa0
[173379.837707]  [<c14a9ad0>] ? ip_frag_mem+0x10/0x10
[173379.837714]  [<c14a8023>] ? ip_rcv_finish+0x113/0x380
[173379.837722]  [<c1123de8>] __kmalloc_track_caller+0x1c8/0x1d0
[173379.837729]  [<c14a890a>] ? ip_rcv+0x24a/0x310
[173379.837736]  [<c14707ce>] ? __alloc_skb+0x2e/0x200
[173379.837742]  [<c147151e>] ? skb_copy+0x3e/0xa0
[173379.837749]  [<c14707f1>] __alloc_skb+0x51/0x200
[173379.837756]  [<c147151e>] skb_copy+0x3e/0xa0
[173379.837820]  [<d1a0741d>] ieee80211_deliver_skb.isra.33+0xfd/0x180 [mac80211]
[173379.837831]  [<c1027378>] ? default_spin_lock_flags+0x8/0x10
[173379.837869]  [<d1a07898>] ieee80211_rx_h_data+0xf8/0x1a0 [mac80211]
[173379.837907]  [<d1a083ae>] ieee80211_rx_handlers+0x16e/0x2b0 [mac80211]
[173379.837944]  [<d1a08589>] ieee80211_prepare_and_rx_handle+0x99/0xf0 [mac80211]
[173379.837983]  [<d1a0875b>] __ieee80211_rx_handle_packet+0x17b/0x2e0 [mac80211]
[173379.838022]  [<d1a089a0>] ieee80211_rx+0xe0/0x180 [mac80211]
[173379.838038]  [<d181981f>] ? rt2x00queue_remove_l2pad+0x3f/0x50 [rt2x00lib]
[173379.838050]  [<d181693b>] rt2x00lib_rxdone+0x22b/0x410 [rt2x00lib]
[173379.838062]  [<d0781151>] rt2x00usb_work_rxdone+0x51/0x90 [rt2x00usb]
[173379.838072]  [<c1063d92>] ? cwq_dec_nr_in_flight+0x52/0x90
[173379.838080]  [<c10652a1>] process_one_work+0x101/0x3a0
[173379.838089]  [<c157e370>] ? common_interrupt+0x30/0x38
[173379.838099]  [<d0781100>] ? rt2x00usb_disconnect+0x70/0x70 [rt2x00usb]
[173379.838107]  [<c1065d64>] worker_thread+0x124/0x2d0
[173379.838114]  [<c1065c40>] ? manage_workers.isra.27+0x110/0x110
[173379.838123]  [<c1069b8d>] kthread+0x6d/0x80
[173379.838130]  [<c1069b20>] ? flush_kthread_worker+0x80/0x80
[173379.838137]  [<c157e37e>] kernel_thread_helper+0x6/0x10
[173379.838142] Mem-Info:
[173379.838145] DMA per-cpu:
[173379.838150] CPU    0: hi:    0, btch:   1 usd:   0
[173379.838154] Normal per-cpu:
[173379.838158] CPU    0: hi:   90, btch:  15 usd:   8
[173379.838169] active_anon:11043 inactive_anon:14176 isolated_anon:0
[173379.838172]  active_file:13764 inactive_file:11303 isolated_file:0
[173379.838174]  unevictable:0 dirty:460 writeback:0 unstable:0
[173379.838177]  free:750 slab_reclaimable:5859 slab_unreclaimable:2031
[173379.838180]  mapped:6286 shmem:72 pagetables:390 bounce:0
[173379.838195] DMA free:1068kB min:124kB low:152kB high:184kB active_anon:2600kB inactive_anon:2824kB active_file:824kB inactive_file:1936kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15804kB mlocked:0kB dirty:80kB writeback:0kB mapped:720kB shmem:0kB slab_reclaimable:6392kB slab_unreclaimable:248kB kernel_stack:0kB pagetables:8kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:32 all_unreclaimable? no
[173379.838208] lowmem_reserve[]: 0 234 234 234
[173379.838226] Normal free:1932kB min:1892kB low:2364kB high:2836kB active_anon:41572kB inactive_anon:53880kB active_file:54232kB inactive_file:43276kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:240192kB mlocked:0kB dirty:1760kB writeback:0kB mapped:24424kB shmem:288kB slab_reclaimable:17044kB slab_unreclaimable:7876kB kernel_stack:896kB pagetables:1552kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[173379.838240] lowmem_reserve[]: 0 0 0 0
[173379.838248] DMA: 265*4kB 1*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1068kB
[173379.838269] Normal: 465*4kB 7*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1932kB
[173379.838289] 25659 total pagecache pages
[173379.838293] 509 pages in swap cache
[173379.838298] Swap cache stats: add 15249, delete 14740, find 17428/18309
[173379.838303] Free swap  = 1063520kB
[173379.838306] Total swap = 1074212kB
[173379.840473] 65264 pages RAM
[173379.840477] 0 pages HighMem
[173379.840480] 3935 pages reserved
[173379.840483] 20825 pages shared
[173379.840486] 46431 pages non-shared
[173379.840492] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[173379.840499]   cache: kmalloc-8192, object size: 8192, buffer size: 8192, default order: 3, min order: 1
[173379.840505]   node 0: slabs: 37, objs: 145, free: 0
[173379.840647] wlan2: failed to clone multicast frame



On 2012-04-18, at 11:16 AM, Gertjan van Wingerde wrote:

> Helmut,
> 
> You can add my Acked-by while submitting, if you want to.
> 
> ---
> Gertjan
> 
> Sent from my iPad
> 
> On 18 apr. 2012, at 19:32, Helmut Schaa <helmut.schaa at googlemail.com> wrote:
> 
>> On Wed, Apr 18, 2012 at 7:05 PM, Marc Dietrich <marvin24 at gmx.de> wrote:
>>> On Wednesday 18 April 2012 10:16:57 Helmut Schaa wrote:
>>>> Since the RX path on USB devices is handled in process context we can
>>>> use GFP_KERNEL for RX buffer allocation. This should reduce the
>>>> likelihood of allocation failures.
>>>> 
>>>> Signed-off-by: Helmut Schaa <helmut.schaa at googlemail.com>
>>>> ---
>>>> 
>>>> I don't have any USB devices here, so this is untested.
>>>> Mind to give it a try?
>>> 
>>> this seems to have fixed it here, so
>>> 
>>> Tested-By: Marc Dietrich <marvin24 at gmx.de>
>> 
>> Thanks for testing, I'll submit shortly ...
>> 
>> _______________________________________________
>> users mailing list
>> users at rt2x00.serialmonkey.com
>> http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com
> 
> _______________________________________________
> users mailing list
> users at rt2x00.serialmonkey.com
> http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com




More information about the users mailing list