Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
e31bcd340a24a8698ee4dc85dd2ccb2bd6ab10e7, cf573d54c588e1ee10a7d8979faef2e0ab8bb17e, 8b55d8421f786d3f631ccca16ac0e229e23bbc9c
Description
With strict active object priority, first-in-first-served scheduling, it is fairly easy for an active object to exclude other active objects from running. This has been a significant problem in Qt apps, and the current implementation of the Qt event loop for Symbian does quite a lot of work to reschedule active objects so that they run in a round-robin fashion.
Rather than adding ever more complexity to the Qt event loop, we should investigate the benefits of having an active scheduler that schedules AOs in a round-robin style, possibly with soft priorities too. Then we can build a case for having the Symbian kernel enhance the OS provided scheduler, and investigate ways to support such a change on older platforms.