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

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

On 5/21/15, Dario Faggioli <dario.faggioli@xxxxxxxxxx> wrote:
> On Thu, 2015-05-21 at 15:06 +0200, Mr Idris wrote:
>> On 5/18/15, George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote:
>> >
>> > Fundamentally, the bug you're getting is that you're dereferencing a
>> > null pointer, probably into a struct (that's the "Faulting linear
>> > address" -- 0xc8 will be the offset into the struct).
>> Thanks for the information.
>> I'm still confuse with the do_schedule() on each scheduler in xen.
>> There are 2 parameters that i think the most important to build simple
>> scheduler, ret.time and ret.task.
> ret.migrated as well, as per:
> struct task_slice {
>     struct vcpu *task;
>     s_time_t     time;
>     bool_t       migrated;
> };
> in xen/include/xen/sched-if.h.
> It's important for decidine whether we need to call sched_move_irqs().
>> ret.time is the time that is set for the VCPU, anyVCPU which run.
> I can't parse this sentence (or, at least, I can't be sure I'm parsing
> it right).
> 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?

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

> I mean, Credit does it in csched_schedule(), Credit2 in
> csched2_schedule(), RTDS in rt_schedule(), ARINC653 in
> a653sched_do_schedule().
> But maybe I'm missing what you mean with "should run *first*".
> 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.

> Regards,
> Dario


Xen-devel mailing list



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