Re: zone->nr_inactive race?

Nikita Danilov (Nikita@Namesys.COM)
Tue, 22 Apr 2003 10:43:34 +0400


Andrew Morton writes:
> Nikita Danilov <Nikita@Namesys.COM> wrote:
> >
> > This fragment of refill_inactive_zone() looks strange:
> >
> > list_move(&page->lru, &zone->inactive_list);
> > if (!pagevec_add(&pvec, page)) {
> > spin_unlock_irq(&zone->lru_lock);
> > if (buffer_heads_over_limit)
> > pagevec_strip(&pvec);
> > __pagevec_release(&pvec);
> > spin_lock_irq(&zone->lru_lock);
> > }
> >
>
> Thanks, you're dead right. That's buggy.
>
> I am fairly surprised that you were able to hit this. How are you doing
> it? On a 1G machine with a teeny ZONE_HIGHMEM??

:)

Modester:

Dual Xeon, 2.20GHz with hyper threading.

512M of ram, but with CONFIG_HIGHMEM4G=y.

I am running

ftp://ftp.namesys.com/pub/namesys-utils/nfs_fh_stale.c

with

./nfs -p 41 -i 100000000 -B -L 22000000 -F sync=0 -s 0 -f 1000000000 -M 1000000000

on reiser4. Its on-disk working set stabilizes somewhere around 14G, and
it produces large amounts of ->writepage() traffic.

>
> I haven't tested this yet, but it should fix it up.
>

OK, I shall try.

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