Re: page allocation failures in mv643xx_eth_poll (was Re: Swapper problems?)
On Mon, Nov 23, 2009 at 07:49:09PM +0000, David Given wrote:
> > When the code that's asking for more memory is running from atomic
> > context, the system can't sleep to free up more memory.
> > I.e., an atomic allocation is "Either give me the memory now or tell
> > me you don't have any, but don't tell me to wait."
> > There's no bug anywhere, this is just expected behavior.
> Well, I have been seeing services mysteriously die every now and again
> - --- more so on the NSLU2 than on the SheevaPlug. When I check the logs
> there is usually one of these dumps for the process that has died. So
> there's obviously something else going on.
The kernel can end up killing processes if there is not enough memory
to satisfy a memory allocation request made by one of the processes in
This is a different thing than the network stack being temporarily
unable to allocate memory to service an incoming packet.
If you don't have enough RAM+swap for all processes on your system to
run in comfortably, you will end up seeing stack traces from the
network stack as well as killed processes. The original poster was
seeing the former and not the latter, and just the former by itself
without the latter is not a cause for concern.
If you're seeing both temporary memory allocation failures and killed
processes, you're seeing something else than the original poster is.