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@...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.

https://github.com/nim-lang/Nim/blob/55a5dcf8a47a47028707c46491072c438eb2f6ce/lib/system/threads.nim#L570

On Tue, 13 Mar 2018 05:19:46 -0600
Nobody III <hungryninja101@...52...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, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@...172...net
https://lists.sourceforge.net/lists/listinfo/genode-main