I won't pretend to have read this thread other than skimming what is on this page - I just saw it was there from a Google alert, so my comments might not be that relevant.
To comment on context switch times though. It is often quoted as the be all and end all, but in reality, you can make it as fast or slow as you like, within the limits of the hardware. To get it really fast, just remove all the functionality (stack checking, tracing, interrupt nesting, etc.) and use a bitmap scheduler (at the cost of usability). Alternatively, write it all in assembly code, making it harder and longer to port, and harder to test.
The Cortex-M takes a certain time to save/restore its registers. This is done mainly in hardware, on interrupt entry, so has nothing to do with the RTOS. What is left of the context can be saved in just one or two asm instructions, which again, are fixed execution time. When people measure context save times, generally they measure different things on different systems, and compare apples with guava, thinking they are comparing apples with apples.
I never claim FreeRTOS to be the fastest, but one of the cleanest, smallest, best supported, etc. etec.
Designed for Microcontrollers. More than 7000 downloads per month.
Certified by TÜV as meeting the requirements for safety related systems.