[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/7] xen: sched: fix locking of {insert, remove}_vcpu()
Hi everyone, This series originates from this other one: http://lists.xen.org/archives/html/xen-devel/2015-09/msg03811.html And, more specifically, from the review subthread of patch 3 (Jan's comments, mainly): http://lists.xen.org/archives/html/xen-devel/2015-09/msg03812.html http://lists.xen.org/archives/html/xen-devel/2015-10/msg00023.html In fact, when reworking it, according to the review comments I got, I thought that the locking issues in insert_vcpu() and remove_vcpu() could well deserve a series on their own. Both the paths (vCPU insertion and removel) suffer from locking related bugs, which are being fixed by patches 1 and 2 of this series. Without these two patches, sched_move_domain() ends up doing some runqueue manipulation _without_ holding the approaprite lock, for some schedulers (which include Credit). I haven't seen the bug trigger. Actually, I haven't tried much to mess things up by means of it, TBH, but, in principle, it's possible. Patches 1 and 2 are, therefore, both candidates for being backported, I guess. The rest of the series is basically cleanups. Patch 3 tries to make that whole 'insert vCPU' situation more clear, consistent, and easy to understand. Patch 4 and 5 simplify both Credit2 and RTDS schedulers a (really really) small bit, by removing the (non necessary) list of vCPUs from the scheduling specific domain data structure, and, of course, the burden of having to manage it. Patch 6 and 7 are, literally, (dump) output cleanups. There is a branch available with this series applied at: git://xenbits.xen.org/people/dariof/xen.git rel/sched/fix-vcpu-ins-rem http://xenbits.xen.org/gitweb/?p=people/dariof/xen.git;a=shortlog;h=refs/heads/rel/sched/fix-vcpu-ins-rem Regards, Dario --- Dario Faggioli (7): xen: sched: fix locking of remove_vcpu() in credit1 xen: sched: fix locking for insert_vcpu() in credit1 and RTDS xen: sched: better handle (not) inserting idle vCPUs in runqueues xen: sched: get rid of the per domain vCPU list in RTDS xen: sched: get rid of the per domain vCPU list in Credit2 xen: sched: fix an 'off by one \t' in credit2 debug dump xen: sched / cpupool: dump the actual value of NOW() xen/common/cpupool.c | 2 +- xen/common/sched_credit.c | 17 +++++++++++-- xen/common/sched_credit2.c | 57 +++++++++++++++----------------------------- xen/common/sched_rt.c | 43 +++++++++++++-------------------- xen/common/schedule.c | 27 ++++++++------------- 5 files changed, 63 insertions(+), 83 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 Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |