2006/1/27, Kevin D. Kissell <kevink@xxxxxxxx>: > > > You could, but why not stick with -march=4ksd if that's your CPU of > > > choice? It appears to result in marginally smaller code even when using > > > -Os, and should have (slightly) better performance than a generic > > > mips32r2 kernel? > > > > Just to avoid a new CPU_4KSD definition in the kernel code as > > suggested by Kevin. Basically all mips32r2 specific code is the same > > as 4ksd specific code (except the code that deals with SmartMIPS > > extension). So it can use CONFIG_CPU_MIPS32_R2 macro. But I was not > > aware of -march=4ksd and -march=mips32r2 differences. Maybe now it is > > needed to have a new CPU_4KSD definition ? > > Configuration hacks that are specific to a single core create cruft and > maintenence problems. As I said yesterday, I think we'd be much better > off to have a CONFIG_CPU_MIPS_SMALL or some such option > that could cause -Os to be used, allow branch-likelies, etc. The optimizations > under discussion aren't at all specific to the 4KSd, no some are. As we said previously: 1/ sizeof(vmlinux-mips32r2-Os) > sizeof(vmlinux-4ksd-Os) 2/ with -march=4ksd can do (slightly) better optimizations > for every 4KSd embedded Linux platform there are several 4KEc platforms > that would benefit from a smaller kernel footprint. > -Os can already be choosen by user in kernel configuration. Your CONFIG_CPU_MIPS_SMALL option brings nothing more except that the user is stuck with -Os option. BTW, I think it may be the default option in the near future for mainline... Thanks -- Franck