[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |