Re: Maybe a VM bug in 2.4.18-18 from RH 8.0?

Andrew Morton
2002-12-06T00:52:47Z

Norman Gaywood wrote:
>
> I think I have a trigger for a VM bug in the RH kernel-bigmem-2.4.18-18
>
> 16GB
> ...
> tar cf /dev/tape .
>

This machine will die due to buffer_heads which are attached
to highmem pagecache, and due to inodes which are pinned by
highmem pagecache.

> ...
> while [ `expr $COUNT - 1` != 0 ]
> do
> date
> # 2000 by 1_000_000 seems to be a 1.8G process
> perl -e '$i=2000;while ($i--){ $a[$i]="x"x1_000_000; }' &
> ...

This will evict the highmem pagecache. That frees the buffer_heads
and unpins the inodes.

> So what do I do now?

I guess talk to Red Hat. These are well-known problems and there
should be fixes for them in a "bigmem" kernel.

Otherwise, the -aa kernels have patches to address these problems.
One option would be to roll your own kernel, based on a kernel.org
kernel and a matching patch from
http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/

> ...
> Anyone have some patches for me to
> try that won't take me too far from the RH 8.0 base system.

Hard. The relevant patches are:

http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.20aa1/05_vm_16_active_free_zone_bhs-1
and
http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.20aa1/10_inode-highmem-2

The first one will not come vaguely close to applying to an
RH 2.4.18 kernel.

The second one may well apply, and will probably fix the problem.