]> xenbits.xensource.com Git - xen.git/commit
xen: credit2: implement true SMT support
authorDario Faggioli <dario.faggioli@citrix.com>
Wed, 20 Jul 2016 09:55:55 +0000 (10:55 +0100)
committerGeorge Dunlap <george.dunlap@citrix.com>
Wed, 20 Jul 2016 09:55:55 +0000 (10:55 +0100)
commit9bb9c73884d991d43f8973bdda6e45f113dfe6ca
treefbf02ea323e8caf3bcaee300c2cf9876c1fe5826
parent22b430e0e3c5f3d071cb8e2713d7ea33ee8624ec
xen: credit2: implement true SMT support

In fact, right now, we recommend keepeing runqueues
arranged per-core, so that it is the inter-runqueue load
balancing code that automatically spreads the work in an
SMT friendly way. This means that any other runq
arrangement one may want to use falls short of SMT
scheduling optimizations.

This commit implements SMT awareness --similar to the
one we have in Credit1-- for any possible runq
arrangement. This turned out to be pretty easy to do,
as the logic can live entirely in runq_tickle()
(although, in order to avoid for_each_cpu loops in
that function, we use a new cpumask which indeed needs
to be updated in other places).

In addition to disentangling SMT awareness from load
balancing, this also allows us to support the
sched_smt_power_savings parametar in Credit2 as well.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Signed-off-by: George Dunlap <george.dunlap@citrix.com>
Reviewed-by: Anshul Makkar <anshul.makkar@citrix.com>
xen/common/sched_credit2.c