Re: slab needs more agressive trimming

Bill Hawes (whawes@star.net)
Sun, 21 Sep 1997 07:57:00 -0400


David S. Miller wrote:
> 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.

The above picture doesn't look good, but is it possible that the usage
patterns have all of the pages poisoned by in-use objects? Any way to
get SLAB to give some stats on potentially freeable pages?

The state machine in do_try_to_free_page should stay parked in SLAB for
as long as it's successful, so there shouldn't be any lack of attempts
to free SLAB memory.

Regards,
Bill