On Tue, 12 Sep 2000, David S. Miller wrote:
> From: Rik van Riel <riel@conectiva.com.br>
>
> I've just uploaded a new snapshot of my new VM for
> 2.4 to my home page, this version contains a
> wakeup_kswapd() function (copied from wakeup_bdflush)
> and should balance memory a bit better.
>
> How can drop_behind() work properly?
>
> You do not recompute the hash chain head for each decreasing
> 'index' in the main while loop, and thus you search potentially
> the wrong hash chain each time.
>
> Thus, you need to change:
>
> + page = __find_page_nolock(mapping, index, *hash);
>
> to something more like:
>
> + hash = page_hash(mapping, index);
> + page = __find_page_nolock(mapping, index, *hash);
Urghhh indeed. So /that's/ why drop_behind() didn't
seem to do its work ;)
Thanks for pointing out this obvious thinko. I hope
more people will take a look at my VM patch and try
to poke holes in it...
(until now, only 3 people seem to have bothered with
looking at the code in detail)
regards,
Rik
-- "What you're running that piece of shit Gnome?!?!" -- Miguel de Icaza, UKUUG 2000http://www.conectiva.com/ http://www.surriel.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:17 EST