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

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



On 5/18/15, George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote:
> On Thu, May 14, 2015 at 2:00 PM, Mr Idris <mr@xxxxxxxxxxxx> wrote:
>> I'm trying to create cpu scheduler on xen 4.4.1 using debian 7 which
>> inspired by arinc653 scheduler. When i use it, it gives me something
>> like kernel panic and reboot in 5 secs before go in to the system. I
>> don't know how to procced  to fix the errors, Here is some debug
>> errors :
>>
>> (XEN) Debugging connection not set up.
>> (XEN) ----[ Xen-4.4.1  x86_64  debug=y  Not tainted ]----
>> (XEN) CPU:    0
>> (XEN) RIP:    e008:[<ffff82d080126dbe>] schedule+0x408/0x5df
>> (XEN) RFLAGS: 0000000000010006   CONTEXT: hypervisor
>> (XEN) rax: 000000003c02a15f   rbx: ffff8300dfb98000   rcx:
>> 0000000000000001
>> (XEN) rdx: 0000000000000000   rsi: 0000000000000005   rdi:
>> ffff82d0803196ec
>> (XEN) rbp: ffff82d0802d7eb0   rsp: ffff82d0802d7e30   r8:
>> ffff82d080319700
>> (XEN) r9:  ffff82d080315600   r10: 0000000202746bd9   r11:
>> 0000000000000003
>> (XEN) r12: 000000003c02a15f   r13: 0000000000000000   r14:
>> ffff82d0803196e8
>> (XEN) r15: 0000000000000001   cr0: 000000008005003b   cr4:
>> 00000000000426f0
>> (XEN) cr3: 00000000df889000   cr2: 00000000000000c8
>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>> (XEN) Xen stack trace from rsp=ffff82d0802d7e30:
>> (XEN)    ffff82d0802d7e60 ffff82d080319700 00000000002d7e60
>> ffff82d0803196e0
>> (XEN)    ffff82d08012a344 ffff82d080319880 ffff82d0802d7eb0
>> 0000000000000000
>> (XEN)    000000003c02a17d 0000000000040000 0000000000000001
>> ffff82d0802eff00
>> (XEN)    ffff82d0802eff00 ffff82d0802d0000 ffffffffffffffff
>> ffff83000008efb0
>> (XEN)    ffff82d0802d7ee0 ffff82d080129cb9 ffff82d0802d0000
>> ffff82d0802d0000
>> (XEN)    0000000000000001 ffff82d08027ab60 ffff82d0802d7ef0
>> ffff82d080129d12
>> (XEN)    ffff82d0802d7f10 ffff82d080160355 00000000df890000
>> 0000000000040000
>> (XEN)    ffff82d0802d7ef0 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> (XEN)    0000000000000000 0000000000000000 0000000000000000
>> ffff8300dfb98000
>> (XEN)    0000000000000000 0000000000000000
>> (XEN) Xen call trace:
>> (XEN)    [<ffff82d080126dbe>] schedule+0x408/0x5df
>> (XEN)    [<ffff82d080129cb9>] __do_softirq+0x81/0x8c
>> (XEN)    [<ffff82d080129d12>] do_softirq+0x13/0x15
>> (XEN)    [<ffff82d080160355>] idle_loop+0x64/0x74
>> (XEN)
>> (XEN) Pagetable walk from 00000000000000c8:
>> (XEN)  L4[0x000] = 0000000215507063 ffffffffffffffff
>> (XEN)  L3[0x000] = 0000000215506063 ffffffffffffffff
>> (XEN)  L2[0x000] = 0000000215505063 ffffffffffffffff
>> (XEN)  L1[0x000] = 0000000000000000 ffffffffffffffff
>> (XEN)
>> (XEN) ****************************************
>> (XEN) Panic on CPU 0:
>> (XEN) FATAL PAGE FAULT
>> (XEN) [error_code=0000]
>> (XEN) Faulting linear address: 00000000000000c8
>> (XEN) ****************************************
>> (XEN)
>> (XEN) Reboot in five seconds...
>> (XEN) Debugging connection not set up.
>
> 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).
>
> A full serial log from boot would be more helpful to figure out where
> that dereference might be happening.
>
>> One more thing, how to setup debugging connection here?
>> Any suggestion is appreciated. Thank you very much.
>
> I don't use the debugger personally; I tend to use printk.  It's also
> useful to comb through the changes you've made to the code to make
> sure you've set all the pointers which need to be set.
>
>  -George
>

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.time is the time that is set for the VCPU, anyVCPU which run.
ret.task is the context or domain that should be run/scheduled. Am i correct?
Or where can i set which domain/process/context should run first?

Regards,
Idris

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