[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 00/16] Fixes and improvement (including hard affinity!) for Credit2

Hi everyone,

This series implements a bunch of both bugfixes and improvements for scheduling
in general, but mostly for Credit2.

Almost all the patches have actually been posted already (so that's why some of
them have a mention of what changed since v1), but I felt like the best thing
was just to put together a new series containing them all (and hence I'm
considering this here to be version 1 of it).

So, quickly, what we do is:
 a) fix a potential race and an actual ASSERT(), when moving pCPUs around
 b) fix how Credit2 constructs its runqueue;
 c) implement hard affinity in Credit2;
 d) a couple more (minor) fixes and improvements.

In particular, to make a) possible, quite a few restructuring of the way in
which we deal with pCPUs changing scheduler when they move between pools
(basically, in schedule_cpu_switch()) has been necessary.

That also helped making b) possible, so it was a win-win. :-)

And finally, yes, I know it's late in this release cycle, but still would like
to give this series a chance to get in Xen 4.7. (BTW, technically, it's really
mostly bugfixing, the only exception being hard affinity for Credit2).

Thanks and Regards,

Dario Faggioli (14):
      xen: sched: fix locking when allocating an RTDS pCPU
      xen: sched: add .init_pdata hook to the scheduler interface
      xen: sched: make implementing .alloc_pdata optional
      xen: sched: implement .init_pdata in all schedulers
      xen: sched: move pCPU initialization in an helper
      xen: sched: prepare a .switch_sched hook for Credit1
      xen: sched: prepare a .switch_sched hook for Credit2
      xen: sched: prepare a .switch_sched hook for Credit2
      xen: sched: close potential races when switching scheduler to CPUs
      xen: sched: on Credit2, don't reprogram the timer if idle
      xen: sched: fix per-socket runqueue creation in credit2
      xen: sched: allow for choosing credit2 runqueues configuration at boot
      xen: sched: per-core runqueues as default in credit2
      xen: sched: scratch space for cpumasks on Credit2

Justin Weaver (1):
      xen: sched: implement vcpu hard affinity in Credit2

Uma Sharma (1):
      xen: sched: improve credit2 bootparams' scope, placement and signedness

 docs/misc/xen-command-line.markdown |   19 +
 xen/common/sched_arinc653.c         |   31 --
 xen/common/sched_credit.c           |   75 +++++-
 xen/common/sched_credit2.c          |  467 +++++++++++++++++++++++++----------
 xen/common/sched_rt.c               |   69 ++++-
 xen/common/schedule.c               |   53 +++-
 xen/include/xen/sched-if.h          |    5 
 7 files changed, 505 insertions(+), 214 deletions(-)
<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.