[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. http://www.xensource.com/files/summit_3/sched.pdf#page=4 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. Thanks Atsushi SAKAI ============================================================= My Test Configuration is #pcpu=1 #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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |