Re: FEATURE REQUEST: Specific Processor Optimizations on x86 Architecture

From: Jesse Pollard
Date: Thu Oct 23 2003 - 08:41:55 EST


On Wednesday 22 October 2003 10:35, Joseph D. Wagner wrote:
[snip]
> > Your proposed change is in part already vetoed (for sound reasons)
> > for 2.4, and is already included in the development branch
> > (where such a far-reaching change should be tested). The other part
> > of your proposal is completely bogus as far as the kernel is concerned.
>
> I respectivly disagree with those reasons. -march is gcc flag. If it
> creates any instability (doubtful), it's really a gcc problem. Throwing it
> in will light a fire under their @$$ to get their act together.

Based on past history of the compiler, it will have no effect. Frequently
the Kernel compile flags have had to wait a year or two before corrections
to the compiler get entered.

Or do you mean to have the kernel be MIS-compiled for a couple of years?

The change in gcc versions is what determines the changes in the compile
flags.

Try your change out. Create/use floating point in the kernel if you want.

One suggestion - for maximum effect, replace the process scheduler with
a full fair-share sheduler, with full weight computation in the kernel.
Since this calls for a small amount of floating point on each iteration,
any problems should show up quickly. Sure, it will be slow, but it will
provide a lot of testing.

Another place to have fun (if you have a GPS reciever attached), put a
small navigation module in the kernel. (use a laptop...). This uses a
LOT of floating point math. This is normally done in user mode for that
reason.

If everything appears to work as you think, no errors due to the compiler,
then submit a patch to LKML (maybe even include the navigator as another
patch). If it doesn't, try to get the GCC project to fix the problem.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/