> Hello,
> 
> I get hundreds of this error message:
> 
> __alloc_pages: 0-order allocation failed.
> 
> The machine is an IBM x250 with 4G ram, the kernel is vanilla 2.4.9 and
> 2.4.9-ac3, no swap, running bonnie++. When the memory fills up with cache,
> I start receiving the error message. 
> 
>              total       used       free     shared    buffers     cached
> Mem:       3863628    3854532       9096          0       5160    3734832
> -/+ buffers/cache:     114540    3749088
> Swap:            0          0          0
Unfortunately I found out this is "normal" behaviour, not only under 2.4.9 but also 2.4.8 and 2.4.7. You could use just about any test that does filesystem load with more data moved than you have physical mem. It basically means that you can easily break the vm management by forcing it in a state where "cleanup" has to be done to find free pages (e.g. page_launder). If you have enough spare time you can try to make page_launder run not only through 1/64 of the list but all through and find out in the end, that it cannot find free pages not matter how often it is run. This looks like a self-produced deadlock situation. On the one hand the basic strategy seems to use as much resources (mem) as possible to gain speed, on the other hand there is no way out, if resources get very low, and this basic strategy fails (which you can see because performance drops down below the cellar).
Try 2.4.10-pre2, possibly you find out, that it doesn't fail that often, but performance stays low.
Regards, Stephan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/