| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [Xen-devel] Question about the ability of credit scheduler to	handle I/O and CPU intensive VMs
 
To: Yuehai Xu <yuehaixu@xxxxxxxxx>From: cendhu <cendhu@xxxxxxxxx>Date: Sun, 10 Oct 2010 14:00:17 +0530Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx,	yhxu@xxxxxxxxxDelivery-date: Sun, 10 Oct 2010 01:31:40 -0700Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;	h=mime-version:sender:in-reply-to:references:from:date	:x-google-sender-auth:message-id:subject:to:cc:content-type;	b=kz/yjeHeXEfFCBzyJoNfBOkENALLEt3c+0SjFY0lmArUWGBnDQ+jg50vP+LtU37UFD	KBDUuZZdvJ8Moxb5fS24kcqHv7A4rTM6WFRwwpF1XR6S0aoJqJ//EEARu7pLVXNTQQ/c	snlnVk9nCTWH0SOG5/GeJC7YPJw6oJldVMsN0=List-id: Xen developer discussion <xen-devel.lists.xensource.com> 
 Similar work has been done already (but not for the credit scheduler)... 
 Have a look at this paperhttp://csl.cse.psu.edu/publications/vee07.pdf 
 On Sun, Oct 10, 2010 at 9:38 AM, Yuehai Xu <yuehaixu@xxxxxxxxx>  wrote: 
> The file you're looking for re getting an event channel isAfter changing vcpu_unblock() to always call vcpu_wake(), the VM that> xen/common/schedule.c, the common scheduling code.
 >
 > In schedule.c, vcpu_wake() will always call the scheduler wake()
 > function;  However, event channels and other "you have an event"
 > functions call call vcpu_unblock() instead, which will check the
 > vcpu's VPF_blocked flag and only call vcpu_wake if it was set.
 >
 > You could try changing vcpu_unblock() to always call vcpu_wake() for
 > your experimental development; I'm not sure what side-effects this
 > would have.
 
 
 has event can be scheduled immediately no matter whether it is CPU
 intensive. However, I have another question. Except the I/O event, it
 seems there are many other events too. Our design is to give a VM a
 very short period of time when it has "I/O event", and right now,
 vcpu_wake() is invoked when an event comes, even it is not "I/O
 event", this will cause that the VM is scheduled much more frequently
 than what I except.
 
 For example, suppose 2 VMs, one is CPU intensive and another is CPU +
 I/O intensive, from the level of scheduler, almost the same number of
 events are received from the two VMs. Even I/O itself creates event,
 since there are other events, the total number of events are almost
 the same. In such case, I think we need to differentiate the I/O
 events from other events.
 
 I add trace point to __run_tickle() and notice the result that the
 number of events are almost the same from two VMs, one of which is CPU
 intensive and the other is CPU + I/O intensive. Although I do not
 completely confirm what I have said currently, I need do more
 experiments.
 
 Is it possible for me to detect the "I/O event" from "event" so that I
 can give VM that has "I/O event" the priority to be scheduled
 immediately?
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |