Hi,

Since changesets 16606 and 16607 we have switched to using software floating 
point emulation in the toolchain and we disabled the in-kernel FPU Emulator 
in the MIPS kernel by default.

The rationale behind this is :
- the FPU emulator of the kernel is slow and works by catching floating point 
operations exceptions, emulating them and continuing its work
- software floating point emulation is only added when a program needs it and 
will not bloat fixed point programs (most) with software floating point code, 
additionnaly software floating point is faster due to the absence of the 
exception mechanism
- for consistency, other targets (arm, powerpc) also use software floating 
point

This allows us to have a kernel which is slightly smaller (~ 1%) and faster, 
and since most programs do not use floats, their memory footprint do not 
change while programs using float have a slightly bigger one as they require 
software floating point emulation. Still the tradeoff is worth :)

The "bad" effect is that you have to recompile your mips/mipsel toolchain AND 
kernel otherwise you will get a device which boots the kernel then silently 
fails while running busybox (the later using floats).

Thank you very much for your attention.
-- 
Best regards, Florian Fainelli
Email : [email protected]
http://openwrt.org
-------------------------------

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to