Thanks for pointing out ... bud

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

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to