Things get free'd, but the SLAB doesn't get rid of the stuff even when
things reach a rediculious state. These stats are from my
workstation.
in-use free
[ ... ]
buffer_head 596 96300
[ ... ]
size-128 735 43400
size-64 1682 44184
Yet attempts to allocate any memory by a user process tends to fail.
I think try_to_free_page() should more agressively hit the SLABs.
I've even seen this behavior lead to fork()'s failing until I killed
off some huge job like GNU emacs or whatever.
Although I will note that 3 or 4 days of uptime and at least moderate
usage are needed before things get this way...
Later,
David "Sparc" Miller
davem@caip.rutgers.edu