Re: kswapd in 2.2.17-pre6 vs. 2.2.16

From: Marcelo Tosatti (marcelo@conectiva.com.br)
Date: Sat Jun 24 2000 - 14:15:33 EST


On Fri, 23 Jun 2000, I Lee Hetherington wrote:

> I decided to follow up by removing the CONFIG_2GB difference (i.e., only
> use CONFIG_1GB). What I find is that in 2.2.16 + Alan's combo fix
> kswapd doesn't even show up but with 2.2.17-pre6 kswapd uses a lot of
> CPU. With 2.2.17-pre6 I am getting a lot of messages like:
>
> VM: do_try_to_free_pages failed for kswapd...
> VM: do_try_to_free_pages failed for top...
> VM: do_try_to_free_pages failed for kswapd...
> VM: do_try_to_free_pages failed for kswapd...
>
> My simple stress test is a repeated 1GB memset on a 1GB SMP machine,
> which forces a lot of swapping.
>
> It would seem that something has changed for the worse between 2.2.16
> and 2.2.17-pre6.

In 2.2.16, kswapd consumes less CPU because it sleeps more, causing your
test program to make kswapd's job when there are no more free pages.
In 2.2.17pre6, kswapd runs do_try_to_free_pages() more often
(which causes more CPU usage), so your test program does not have to free
pages itself.

To prove that, here goes 'time' output of fillmem (from memtest
suite).

2.2.16:
0.81user 70.78system 1:22.12elapsed 87%CPU

2.2.17pre6:
0.94user 38.67system 0:52.42elapsed 75%CPU

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jun 26 2000 - 21:00:05 EST