Re: 2.6.14-rc5 e1000 and page allocation failures.. still

From: Robert Hancock
Date: Sun Oct 23 2005 - 19:42:52 EST


John Bäckstrand wrote:
Im seeing a massive amount of page allocation failures with 2.6.14-rc5, and also earlier kernels, see "E1000 - page allocation failure - saga continues :(". Machine is a 1Ghz Athlon with 256MB RAM. Attached is example dmesg output. The stack traces come in many variants. Killing processes using RAM only seems to help temporarily. Ive also tried setting vm.min_free_kbytes=16384, which used to work pretty well, but this does not help (atleast not in the state the machine is currently in, without rebooting).

free currently gives:

total used free shared buffers cached
Mem: 256520 239128 17392 0 5372 67500
-/+ buffers/cache: 166256 90264
Swap: 506036 21248 484788


I havent yet tried rebooting and using the vm.min_free_kbytes=16384 from scratch, but I think something with the default for this is wrong if it results in this many page allocation errors. The machine is serving files from an encrypted partition with reiserfs on it, and I obivously use the e1000 driver.

---
John Bäckstrand


------------------------------------------------------------------------

[149649.847890] kcryptd/0: page allocation failure. order:3, mode:0x20

..

[149649.849933] Free pages: 16148kB (0kB HighMem)

It looks like you have enough memory free - the problem is that the driver is allocating a block of memory with order 3, which is 8 pages. Quite likely there are not enough contiguous free pages to satisfy that.

That's an awful big buffer size for a packet - I assume you're using jumbo frames or something? Ideally the driver and hardware should be able to allocate a buffer for those packets in multiple chunks, but I have no idea if this is possible.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/