On Tue, 2007-10-30 at 14:26 -0700, Stephen Hemminger wrote:
It needs to unset PF_MEMALLOC at the exit.
The other protocols needs analysis on what memory allocations occur
during packet processing, if anything is done that is not yet accounted
for (skb, route cache) then that needs to be added to a reserve, if
there are any paths that could touch user-space, those need to be
handled.
I've started looking at a few others, but its hard and difficult work if
one is not familiar with the protocols.
Its that tsk_restore_flags() there what requires the s/return/goto/
stuff you noted earlier.
On a machine with mem=128M, I've ran 4 processes of 64M, 2 file backed
with the files on NFS, 2 anonymous. The processes just cycle through the
memory using writes. This is a 100% overcommit.
During these tests I've ran various network loads.
I've shut down the NFS server, waited for say 15 minutes, and restarted
the NFS server, and the machine came back up and continued.
I've put some statistics in the skb reserve allocations, those are most
definately used. I'm quite certain the machine would lock up solid
without it.
-