Partitioned Scheduling

Norman Feske norman.feske at ...1...
Mon Sep 5 12:04:52 CEST 2016

Hello Stefan,

welcome to the mailing list!

> we are using Genode on Fiasco.OC and want to use different Scheduler for
> different CPU-Cores.
> Is there a way to assign a Scheduler to a CPU-Core in Genode?

I have never heard of such a feature in Fiasco.OC. If it exists, Genode
does not provide any way to access it.

Right now, Genode provides the following scheduling-related mechanisms:

* At the creation time of a CPU session, the CPU session's static
  priority can be assigned. This priority is propagated as scheduling
  parameter to the kernel whenever a thread is created. On base-hw,
  CPU sessions can be further equipped with quotas, which allows
  proportional-share scheduling.

* It is possible to define the affinity space per CPU session, i.e.,
  to make a subset of physical CPUs available to a CPU session.

* It is possible to define the affinity of an individual thread to a
  CPU within the affinity space of the thread's CPU session.

Genode leaves the the actual thread scheduling to the underlying kernel.
Most L4 kernels (including Fiasco.OC) implement a simple round-robin
scheduler with static priorities. Our custom base-hw kernel employs a
more flexible scheduler, which is described in Section 7.6.7. "Scheduler
of the base-hw kernel" of the Genode Foundations book [1]. But also
base-hw simply uses the same scheduling algorithm on each CPU.

Could you provide a tangible example of using a variety of scheduling
algorithms on different CPUs?


Best regards

Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list