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

Re: [Xen-devel] Kernel panic, reboot in 5 seconds



On Mon, 2015-05-25 at 15:41 +0200, Mr Idris wrote:
> On 5/21/15, Dario Faggioli <dario.faggioli@xxxxxxxxxx> wrote:

> > ret.time is the next time instant you want a timer to fire, as you can
> > see right below the call do sched->do_schedule(), in schedule.c. That
> > timer, when firing, will cause the scheduler to run again, as it also
> > can be easily seen in schedule.c, checking out occurrences of s_timer
> > and s_timer_fn.
> >
> 
> Ok, i thought before ret.time is the time for VCPU to run. But
> ret.time is time to call again do_schedule() which doing schedule for
> VCPU time and domain. Right?
> 
I'm probably still missing something.

If ret.time is > 0, a timer will
fire at NOW()+ret.time, and it will raise the SCHEDULE_SOFTIRQ, which in
turn will 'call' schedule().

Whether or not this will be the runtime (of an instance) of a particular
vCPU (e.g., the one being scheduled as the result of the current call to
schedule()), it depends on how the scheduler is implemented and on
whether there is something else that raises the softirq and interrupt
the said vCPU before NOW()+ret.time (a wakeup of another vCPU, a yield
of the running vCPU, etc.)

> >> ret.task is the context or domain that should be run/scheduled. Am i
> >> correct?
> >>
> > It's the vcpu to be run next, yes.
> >
> >> Or where can i set which domain/process/context should run first?
> >>
> > I'm not sure I'm getting this either... IIUIC, that is what you should
> > do in your implementation of the do_schedule hook, for your scheduler.
> >
> 
> So ret.task set which VCPU to be run. What i am looking for where is
> the parameter for deciding which domain is run on that VCPU? Anydomain
> whether dom0 or domU.
> 
What do you mean "which domain is run on that VCPU"? A vCPU belongs to a
domain, so, when running a particular vCPU on a pCPU, you're giving the
domain it belongs to a chance to execute... Do you perhaps refer to
physical CPUs (often referred to as pCPUs or PCPUs)? But then, if yes, I
don't understand the question: you already found it, it's there in
schedul()-->do_schedule().

> > BTW, what's the purpose of the new scheduler you're working on, if I can
> > ask?
> >
> 
> I want to create scheduler like round robin with priorities. Dom0 has
> higher priority, so always scheduled between domU.
> 
And if I can continue asking, what would be the use case? Where and how
do you think this would work better than the schedulers we have in Xen
already?

Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
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®.