-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
Suppose we have 2 cores (core 0 and core 1) and we have 2 tasks (task A and task B). And I assign all threads of task A to run in core 0 and all threads of task B to run in core 1. How L4 Fiasco's scheduler manages this? Will the tasks run together or they have to switch from one to another?
From what I understand, the tasks don't run together regardless which core
they are located, is it correct?
Fiasco's scheduler is only concerned with the threads you are running. In your example, the threads of task A will be scheduled independently from the threads of task B because they run on different cores. Each core maintains a separate run queue. The scheduler schedules these threads round-robin by their priority. If all your threads have the same prio, CPU time will be distributed fairly among these threads.
Note that tasks in the L4 context are address spaces, i.e. what other OSes would call processes. Do not confuse them with the term task as it is used in real-time systems.
Kind regards, Bjoern