TLB refill problems again?

Richard Gooch (rgooch@atnf.csiro.au)
Tue, 29 Dec 1998 00:10:52 +1100


Hi, all. Some months ago I reported significant variability (up to
+100%) in rendering times for a volume rendering application running
on UltraLinux with Solaris 2.5. I then tried UltraPenguin and the
variability went down to +- 10% or so.

Today I've been tracking down some odd results on PPro and PII
systems. Again I'm getting variability up to +100% (i.e. sometimes
rendering times nearly double). Again, this appears to be due to the
way pages are laid out in memory. I got suspicious when the rendering
times changed when the application was in "network mode" (volume data
sent over a socket and stored in malloc(3) space) and in "local mode"
(volume data mmapp(2)ed from a local file). Rendering times are at
least a second or more (depending on the machine).

There is no question of swap problems: the data set is only ~13 MBytes
and the machines have gobs of RAM: 192 MBytes for the PPro and 512
MBytes for the PII. The PPro doesn't even have swap space. Furthermore
I run the test several times to warm caches as much as possible. Both
2.1.126, 2.1.131 and 2.1.132 seem to have these problems.

The data volume is tiled in memory, so the memory access patterns are
somewhat random (though of course the same for each test run). From
the earlier responses with the Solaris 2 measurements, I gather the
same problem with TLB filling (namely, that it's slow) is happening.
Does this sound like a reasonable conclusion? If so, is there
something that we can do about it? It's an awful performance suck.

A little voice is telling me: "4 MByte pages, new syscall for
allocating", but I'm trying to suppress it.

Regards,

Richard....

-
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/