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

Re: [Xen-devel] xen cpu scheduler internals



i know that in SMP linux kernel, each processor call schdule() function every 
quantum time. is it the case for xen? if yes,Does it mean that every core 
invoke it's own schedule() every quantum (using an interrupt), so i don't 
understand the difference between this and what you said: "you need to
arrange for schedule() to be called on several cpus simultaneously (by raising 
the SCHEDULE softirq)". 

would you please tell me where is my misunderstanding?

Thanks.

________________________________________
From: dunlapg@xxxxxxxxx <dunlapg@xxxxxxxxx> on behalf of George Dunlap 
<dunlapg@xxxxxxxxx>
Sent: Monday, April 18, 2016 9:07 AM
To: tutu sky
Cc: Xen-devel@xxxxxxxxxxxxx
Subject: Re: [Xen-devel] xen cpu scheduler internals

On Sun, Apr 17, 2016 at 7:18 PM, tutu sky <ooohooo_u@xxxxxxxxxxx> wrote:
> Hi,
> I know that scheduling is done via two main functions and their effective 
> interaction:
> one 'schedule()' in schedule.c and another 'do_schedule(...)', which is 
> specific for every scheduling policy.
> my question is that (although it may seem clear and very common for kernel 
> developers, but not as mush for me):
> when a vcpu is selected to run on a specific cpu, what is the policy for 
> choosing cpu (pcpu)?

I'm afraid that's not the kind of question that's easy or useful to
answer.  Your best bet here is to look at the actual code and come
back with more specific questions.

See also http://wiki.xenproject.org/wiki/Asking_Developer_Questions.

If the second question is asking about gang scheduling, you need to
arrange for schedule() to be called on several cpus simultaneously (by
raising the SCHEDULE softirq), and then you need to arrange for the
specific scheduler code on each processor to choose the appropriate
cpu.

 -George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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