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

[Xen-devel] [Q] about Credit Scheduler Dom0 Scheduling policy.

Hi, Emmanuel,

 Thank you for your previous comment.
I still waiting for second item comments.

Anyway, I want to ask you a opinion 
about the credit scheduler's vcpu scheduling policy.
(compare with the "sedf" scheduler)
The reason of this asking is
this matter should be related to I/O performance in Multi-VM.

My testing was done by following 3 DomUs. 
DomU1, DomU2(CPU intensive jobs are running)
DomU3(I/O intensive jobs are running)

By seeing xentrace, scheduling behavior seems differentiated by schedulers
especially Dom0(Driver Domain) vcpu scheduling policy
(I checked vcpu_wake and dispatched time difference.)

In SEDF-scheduler,
When Dom0 vcpu wakes, Dom0 vcpu gets pcpu resources immediately.
(in worst case the delay is within 1msec)
But in CREDIT-scheduler,
Sometime Dom0 vcpu have large latency.(sometimes 60msec)

I think this delayed reason is the behavior of credit scheduler.
In the credit scheduler,
When Dom0 vcpu wakes, Dom0 vcpu just adds in runq tail.
(this makes a problem.)

I think Dom0 vcpu wake up should be handled prioritize the UNDER runq.
Since it reflects response time especially I/O.

Of course,
CPU intensive job(in following document VCPU SPIN) domain is just one,
It has no problem, since runq has no vcpu.
In this case, if requesting context switch(SCHEDULE_SOFTIRQ) is occured,
it switches to VCPU I/O successfully.
But my example case(2 SPIN VCPU), a VCPU SPIN is in runq
(since 2 SPIN VCPU domain are exists).
In this case SCHEDULE_SOFTIRQ, just pushes another VCPU SPIN,
So VCPU I/O is not started.

Waiting for your opinion.

Atsushi SAKAI

My Test Configuration is

#vcpu=1(Dom0, DomU1, DomU2, DomU3)

CPU intensive domain: DomU1 and DomU2
I/O intensive domain: DomU3
Privileged Domain   : Dom0 

CPU intensive domain runs cpu-loop
like follows,
main(){int a;while(1){a++;};}

I/O intensive domain runs fsdisk
(which is included in unixbench 4.1.0)

Privileged Domain runs
xenmon.py or 
xentrace in standard configuration(uses tools/xentrace/formats)
The xentrace output is included in this mail.
(I picked up the problem from xentrace outputs.)

Attachment: xentrace-credit-sedf.log
Description: Binary data

Xen-devel mailing list



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