Desaster - Cause found.

Martin Dalecki (dalecki@cs.net.pl)
Sat, 23 Oct 1999 18:03:32 +0200


After having a short look at the casue of the entier disaster in:

find /usr/src/linux -name "*.[ch]" -exec grep get_zeroed_page /dev/null
{} \;

I think I have maybe found.

Yes there is something utterly wrong with the swap handling inside the
2.3.23 kernel.

free or top is reporting 4-fold the swap space indeed present!

The changes to proc/array.c don't affect this.
I have compared the mm/swapfile.c files and apparently
si_swapfile does the same thing on both. Further both appear to
be proper, they just read out the direct values the system beleaves
are present. Therefore I think that the translation of swap allacation
to the new VM system is broken. There is apparently some >> PAGE_SIZE
missing out there indeed.

This information should give you an easy hunt after it
- However the overall changes are too massive for me to
"eat them in one chunk" just for fun by reading the patch and I
don't have the inclination to track it down
further by myself. It should be anyway much easier for somebody
more provenient with them themself then me...and indeed I'm not very
excited about how the wole HIGHMEM stuff work's. It's sick by concept
anyway
to (ab-)use the improper CPU for such a kind of task ;-). However
from the first glance one can say that the whole thing does one good:
It apparently leads to some cleanum for the interal VM interface.

That'a all.

--Marcin

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