Suspected bug in shrink_caches()

From: Sasha Pachev (
Date: Thu Jan 03 2002 - 00:38:40 EST


I am quite sure there is still a bug in shrink_caches(), at least there was
one in 2.4.17-rc2. I have not tried later releases, but there is nothing in
the changelog about the fixes anywhere near that area of the code, so I have
to assume the problem is still there.

Here is how one can expose the bug:

 - disable kswapd and turn off all swap for simplicity
 - run two applications concurrently, one cache intenstive ( eg find / or
simply create/initialize/read a large file), and the other RAM-intensive -
allocate a large block and initialize it

When we get to the point where free memory starts running low, even though we
may have something like 100 MB of cache, shrink_caches() fails to free up
enough memory, which triggers the evil oom killer. Obviously, in the above
situation the correct behaviour is to go on cache diet before considering the

MySQL Development Team
For technical support contracts, visit
   __  ___     ___ ____  __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev <>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB,
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:20 EST