[rt2x00-users] RT-3072 as AP issue. (USB stick)
Helmut Schaa
helmut.schaa at googlemail.com
Wed Apr 18 18:04:27 EST 2012
On Wed, Apr 18, 2012 at 9:51 AM, Marc Dietrich <marvin24 at gmx.de> wrote:
> Am Mittwoch, 18. April 2012, 09:35:37 schrieb Helmut Schaa:
>> On Wed, Apr 18, 2012 at 6:28 AM, Buy Sell <604buysell at gmail.com> wrote:
>> > [24006.939545] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
>> > [24006.939555] cache: kmalloc-8192, object size: 8192, buffer size:
>> > 8192, default order: 3, min order: 1 [24006.939566] node 0: slabs: 36,
>> > objs: 144, free: 0
>> > [24006.939632] kworker/u:0: page allocation failure: order:1, mode:0x4020
>>
>> Is your system under memory pressure? Seems like rt2x00 cannot allocate
>> rx buffers properly ...
>
> I get these ooms all the time on a 512 MB netbook. The only way I know to
> avoid this is to increase the kernel emergency pool (e.g. echo 16384 >
> /proc/sys/vm/min_free_kbytes).
>
> I wonder if it would be possible to pre-allocate memory instead of allocating
> it from the emergency pool.
The RX ring contains already 128 frames and will replace the current buffer when
a frame was received. This happens in atomic context and the frame size is
quite big (8K) since we need to be able to receive AMSDUs. Add the different
skb overheads and you end up asking for 8K buffers.
However, for USB we might be able to use GFP_KERNEL for the allocation.
I'm verifying this right now ...
Helmut
More information about the users
mailing list