What could FreeRTOS do next? Share your Ideas

I have frequently lobbied for an asynchronous “I/O model” that supports something similar to Windows’ I/O completion ports (there is also something similar on linux called urings). See for example here: Device Driver Model - suggestions - #6 by RAc

Very briefly, it is an architecture that allows several outstanding blocking waits to be associated with a pool of worker threads. Each worker thread can process any of the computations once unblocked. It is a fantastic tool to build very efficient multithreaded servers with a throttled max number of worker threads (usually the number of CPUs in a multi core system) without the disadvantages of the threads coupled with computations. Given that almost all blockings/suspensions in FreeRTOS reduce to queue waits, it would even be rather straightforward to implement. Would be one of my retirement projects if not tackled before ;-).

2 Likes