Now that 2.2 has hit the ground, I have one topic to suggest for 2.3
development. Probably more appropriate in the normal kernel mailing
list, but it is a performance issue, and since my machines are SMP-based,
maybe it is appropriate here as well.
The topic is memory-to-cache mapping.. and the current more-or-less
random page allocation approach is fine for most programs, but for those
that are _very_ cpu intensive, it leaves a lot to be desired. Since all
of the cache systems we are going to see for the forseeable future are
going to have some sort of 'direct mapping' at their core (ie 4-way
set associative still direct maps to the set) there is going to be a
good way to lay out a program in memory (several good ways in fact)
but there are far more bad ways. And statistics says we get the bad ways
far more often than we get the good ways. :)
The issue for me is program optimization. I make a change that obviously
results in better instruction scheduling and the program runs slower
because now I get less cache performance due to the way the program was
loaded _this_ time.
Solutions are not particularly hard, although they may be a bit
inefficient, which means this might be something to add via a
user-settable process flag, so that normal programs just take pot luck and
don't drive the mm code bananas, while 'special' programs can ask for
'optimal page selection' to enhance cache performance.
I'm willing to help, to make suggestions, to run tests, and don't want to
'step on anybody's toes' at all. This is the only aggravation I have with
my trusty quad-xeon box. I make a program faster, yet it runs 2% slower.
Drives me nuts...
Anyone interested in attacking this as a 2.3 (or external if need-be)
fix?
Bob
Robert Hyatt Computer and Information Sciences
[EMAIL PROTECTED] University of Alabama at Birmingham
(205) 934-2213 115A Campbell Hall, UAB Station
(205) 934-5473 FAX Birmingham, AL 35294-1170
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]