Messages in this thread |  | | Date | Tue, 12 Sep 2000 05:11:59 -0300 (BRST) | From | Rik van Riel <> | Subject | Re: More on 2.2.18pre2aa2 |
| |
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 2000
http://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/
|  |