Re: Linux 2.4.10-pre11

Andrea Arcangeli
2001-09-18T21:06:01Z

On Tue, Sep 18, 2001 at 04:18:34PM -0300, Marcelo Tosatti wrote:
> I still can reproduce the alloc pages failures with the following patch.

Could you try the very last patch I posted?

> --- linux.orig/mm/vmscan.c Tue Sep 18 15:43:14 2001
> +++ linux/mm/vmscan.c Tue Sep 18 16:37:52 2001
> @@ -361,13 +361,19 @@
> }
>
> deactivate_page_nolock(page);
> +
> list_del(entry);
> - list_add_tail(entry, &inactive_local_lru);
>
> - if (__builtin_expect(!memclass(page->zone, classzone), 0))
> + if (__builtin_expect(!memclass(page->zone, classzone),
> 0)) {
> + list_add_tail(entry, &inactive_list);
> + __max_scan--;
> continue;
> + }
>
> __max_scan--;
> +
> + list_add_tail(entry, &inactive_local_lru);
> +

I actually used a much more aggressive approch, I always left all the
page visibles now, not just for the memclass check. After all the same
issue that can arise with the memclass check can also arise in a smaller
scale with the other failed checks. But the oom weren't just because of
the "hiding", I suspect that infact.

Andrea