Search Linux Wireless

Re: rt2800usb: page allocation failure

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

 



On Tue, Apr 12, 2011 at 01:00:18PM -0500, Larry Finger wrote:
> On 04/12/2011 10:38 AM, Igor Plyatov wrote:
> 
> >kworker/u:1: page allocation failure. order:1, mode:0x20

mode:0x20 corresponds with GFP_ATOMIC

> >[<c0279450>] (dev_alloc_skb+0x0/0x44) from [<c0226698>]
> >(rt2x00queue_alloc_rxskb+0x4c/0xc4)
> >[<c022664c>] (rt2x00queue_alloc_rxskb+0x0/0xc4) from [<c0223480>]
> >(rt2x00lib_rxdone+0x44/0x298)
> 
> --snip--
> 
> >Normal: 403*4kB 2*8kB 2*16kB 2*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB
> >0*2048kB 0*4096kB = 1724kB
> 
> Your system is failing to get a receive buffer of size 8kB
> (order:1). If we look at the last line above, you have quite a bit
> of memory free, but it is highly fragmented - almost all of it is in
> 4kB pieces. This condition is not fatal, but it can be avoided by
> changing the NIC parameters so that each RX buffer fits in 4k.
> 
> If you look at the ifconfig output for this device, the MTU is
> likely 1500. By reducing this, you should be able to get all buffers
> to be of order 0. I would start with 1400 to see if it makes the
> problem go away. Reducing this quantity has the potential to slow
> the network transfers, but you won't see it as the default block
> size for dd is 512. Any such slowdown will be much less severe than
> the delay causes by missing a buffer allocation.

I don't think the allocation uses the MTU, rather rt2x00queue_alloc_rxskb()
uses some hw specific constants.  No idea if these can be reduced,
but multi-page GFP_ATOMIC allocations can easily fail.

However, I'm not sure why an 8kB allocation fails if the oom dump
says 2*8kB are available.  I guess it has something to do with
the GFP_ATOMIC.


Johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux