Genode affinity, multi-core separation and service encapsulation (core inferences)

Nobody III hungryninja101 at ...9...
Thu Mar 15 05:38:29 CET 2018

Right now, doesn't Genode just put everything on CPU 0 unless told
otherwise? It seems best for an available CPU to run the next thread that
has that CPU in its affinity space. How can that policy (or something
similarly efficient) be implemented?

On Wed, Mar 14, 2018 at 4:12 AM, Emery Hemingway <ehmry at ...548...> wrote:

> CPU balancing is pretty easy to manage at a higher level. For example,
> the Nim runtime balances additional Genode threads automatically,
> because the common high-level case is to create a thread pool for each
> CPU and push jobs to it. In other cases I assume that a thread will
> be blocked or block an external component, and running components on
> multiple CPUs only comes with the performance cost of communicating
> across multiple CPUs.
> 438eb2f6ce/lib/system/threads.nim#L570
> On Tue, 13 Mar 2018 05:19:46 -0600
> Nobody III <hungryninja101 at ...9...> wrote:
> > It seems like we ought to have a balancer component or at least basic
> > balancing built into init. A lack of balancing is a huge performance
> > issue on modern SMP CPUs. How could we go about this? Could a server
> > do the balancing through the CPU session interface?
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites,!
> _______________________________________________
> genode-main mailing list
> genode-main at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list