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

Re: [Xen-devel] Credit scheduler



Hi Atsushi
 
I am still confused, so let me explain what i think should happen and understand from you why it may not happen.
 
I have 2 cpu intensive VMs and 1 IO intensive VM. My system has 4 physical cpus and 8 virtual cpus.
 
Now using default parameters for the credit scheduler, the cpu intersive vcpu should run for 30 millsec. It does not, it runs for less (few microsecs).
 
You said this could be because of softirq which are raised after a system call. Can i disable the softirqs. What happens if i do? If i cannot disable is there a way to see what VM is raising the softirq. If the cpu-VM raises the softirq it gets preempted or does it continue to run. How can I montior the softirqs raised by this VM. Can I tell if the premption is from a softirq or from something else.
 
Also, if the IO VM requests an IO, it will block and dom0 wakes up and gets scheduled to run to service the IO. Will it preempt the cpu intensive VM. If so why? Shouldn't the cpuintensiveV M get its quantum of time.
Or does the IOVM get higher priority to preempt the cpu intensive VM. How does the scheduler  pick which cpu to run dom0 on ( if all the vcpus running are cpu intensive)? If there is a mix of cpu-vcpus and Io-vcpus, which will be the victim
 
As you see i have a lot of questions, so please bear with me and help me understand the scheduling behavior of Xen
 
Thanks
Prabha
 
 
 
 
-------------- Original message --------------
From: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>

> Hi Prabha
>
> Please check do_softirq in assembler.
> for x86
> call do_softirq
> is in.
>
> And usually do_softirq is executed at the end of system call.
>
> Thanks
> Atsushi SAKAI
>
>
>
> pak333@xxxxxxxxxxx wrote:
>
> > Thanks for the explanation, i am not sure i understood it correctly.
> >
> >
> > when does softirq get set. So when softirq is set a processor enters the
> scheduler every 3 micro secs? where in the source code is this handled. please
> could you send me some pointers
> >
> > thanks
> > -Prabha
> >
> >
> >
> >
> > -------------- Or iginal message --------------
> > From: Atsushi SAKAI
> >
> > > Hi, Prabha
> > >
> > >  30msec is the maximum time slice.
> > > And I guess your 3 microsecond is the response after
> > > SCHEDULE_SOFTIRQ is set.
> > > As you know,
> > > If SCHEDULE_SOFTIRQ is set,
> > > it waits softirq calls schedule(). (this time interval is 3microsec)
> > >
> > > And I/O intensive has higher priority than CPU intensive.
> > > So I/O intensive job is first dispatched domain in runq.
> > > This is because latency improvement for I/O intensive guest.
> > >
> > > So your behavior is not strange.
> > >
> > > Thanks
> > > Atsushi SAKAI
> > >
> > >
> > > pak333@xxxxxxxxxxx wrote:
> &g t; >
> > > > Hi
> > > >
> > > > I have noticed that VMs are typically spending 3 microsecs or less before
> they
> > > are being prempted. I thought that the credit schduler time slice was 30 ms.
> I
> > > have 4 VMs running and they are all cpu intensive except for 1 (which is IO
> > > intensive) but having a VM spend max 3 micro secs before being kicked out
> seems
> > > strange.
> > > >
> > > > Is there something else going on that i am not aware of. Is the time slice
> > > really 30 millisecs? I am using default parameters of the credit scheduler.
> > > >
> > > > Thanks
> > > > -Prabha
> > >
> > >
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxx source.com
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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