Subject: Re: problems with e1000 and jumboframes

From: Evgeniy Polyakov <[email-masked]>
Date: Thu, 3 Aug 2006 17:59:25 +0400

On Thu, Aug 03, 2006 at 03:48:39PM +0200, Arnd Hannemann ([email-masked]) wrote:
> Hi,
> 
> im running vanilla 2.6.17.6 and if i try to set the mtu of my e1000 nic
> to 9000 bytes, page allocation failures occur (see below).
> 
> However the box is a VIA Epia MII12000 with 1 GB of Ram and 1 GB of swap
> enabled, so there should be plenty of memory available. HIGHMEM support
> is off. The e1000 nic seems to be an 82540EM, which to my knowledge
> should support jumboframes.

But it does not support splitting them into page sized chunks, so it
requires the whole jumbo frame allocation in one contiguous chunk, 9k
will be transferred into 16k allocation (order 3), since SLAB uses
power-of-2 allocation.

> However I can't always reproduce this on a freshly booted system, so
> someone else may be the culprit and leaking pages?

You will almost 100% reproduce it after "find / > /dev/null".

> Any ideas how to debug this?

It can not be debugged - you have cought a memory fragmentation problem,
which is quite common.

> > kswapd0: page allocation failure. order:3, mode:0x20

e1000 tries to allocate 3-order pages atomically?
Well, that's wrong.
 
> Thanks,
> Arnd Hannemann

-- 
	Evgeniy Polyakov