Re: ZONE_NORMAL exhaustion (dcache slab)

Andrew Morton (akpm@digeo.com)
Mon, 21 Oct 2002 23:21:02 -0700


"Martin J. Bligh" wrote:
>
> > Oh it's reproduceable OK. Just run
> >
> > make-teeny-files 7 7
>
> Excellent - thanks for that ... will try it.

When it goes stupid, you can then run and kill some big memory-hog
to force reclaim of lots of highmem pages. Once you've done that,
you can watch the inode cache fall away as the inodes which used
to have pagecache become reclaimable.

> > Maybe you didn't cat /dev/sda2 for long enough?
>
> Well, it's a multi-gigabyte partition. IIRC, I just ran it until
> it died with "input/output error" ... which I assumed at the time
> was the end of the partition, but it should be able to find that
> without error, so maybe it just ran out of ZONE_NORMAL ;-)

Oh. Well it should have just hit eof. Maybe you have a dud
sector and it terminated early.

> > Perhaps we need to multiply the slab cache scanning pressure by the
> > slab occupancy. That's simple to do.
>
> That'd make a lot of sense (to me, at least). I presume you mean
> occupancy on a per-slab basis, not global.

It's already performing slab cache scanning proportional to
the size of the slab. Multiplied by the rate of page scanning.

But I'm thinking that this linear pressure isn't right
at either end of the scale, so it needs to become nonlinear - even
less pressure when there's little slab, and more pressure when
there's a lot. So multiply the slab scanning ratio by
amount_of_slab/amount_of_normal_zone. Maybe.
-
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/