Juergen Gross
2013-Oct-14 05:29 UTC
Cap related correction and enhancement of credit scheduler
This patc series corrects an error in the credit scheduler realted to capped out domains. Additionally the cap value of vcpus is added to the diagnostic info printed by the scheduler''s key handler. [PATCH 1/2] unpause parked vcpu before destroying it [PATCH 2/2] Add cap value to credit scheduler debug info
A capped out vcpu must be unpaused in case of moving it to another cpupool, otherwise it will be paused forever. Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com> --- xen/common/sched_credit.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index 3d6ea7a..2dd5ed7 100644 --- a/xen/common/sched_credit.c +++ b/xen/common/sched_credit.c @@ -929,6 +929,12 @@ csched_vcpu_remove(const struct scheduler *ops, struct vcpu *vc) SCHED_STAT_CRANK(vcpu_destroy); + if ( test_and_clear_bit(CSCHED_FLAG_VCPU_PARKED, &svc->flags) ) + { + SCHED_STAT_CRANK(vcpu_unpark); + vcpu_unpause(svc->vcpu); + } + if ( __vcpu_on_runq(svc) ) __runq_remove(svc); -- 1.7.10.4
Juergen Gross
2013-Oct-14 05:29 UTC
[PATCH 2/2] Add cap value to credit scheduler debug info
Currently only the weight is the only scheduling parameter printed for domains in the credit scheduler key handler. Add the cap value to be printed as well. Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com> --- xen/common/sched_credit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index 2dd5ed7..c737611 100644 --- a/xen/common/sched_credit.c +++ b/xen/common/sched_credit.c @@ -1747,7 +1747,8 @@ csched_dump_vcpu(struct csched_vcpu *svc) if ( sdom ) { - printk(" credit=%i [w=%u]", atomic_read(&svc->credit), sdom->weight); + printk(" credit=%i [w=%u,cap=%u]", atomic_read(&svc->credit), + sdom->weight, sdom->cap); #ifdef CSCHED_STATS printk(" (%d+%u) {a/i=%u/%u m=%u+%u (k=%u)}", svc->stats.credit_last, -- 1.7.10.4
George Dunlap
2013-Oct-14 09:46 UTC
Re: [PATCH 1/2] unpause parked vcpu before destroying it
On 10/14/2013 06:29 AM, Juergen Gross wrote:> A capped out vcpu must be unpaused in case of moving it to another cpupool, > otherwise it will be paused forever. > > Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
George Dunlap
2013-Oct-14 09:47 UTC
Re: [PATCH 2/2] Add cap value to credit scheduler debug info
On 10/14/2013 06:29 AM, Juergen Gross wrote:> Currently only the weight is the only scheduling parameter printed for > domains in the credit scheduler key handler. Add the cap value to be > printed as well. > > Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>Acked-by: George Dunlap <george.dunlap@eu.citrix.com>