[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] kexec: framework and i386 (Take XIV)
On Thu, Aug 31, 2006 at 05:55:52PM +0900, Akio Takebe wrote: > Hi, Horms and Magnus > > Good work. :-) > I have one commet. > > I believe crash_kexec should be directly called > when unknown NMI is occurred. > In your patch, crash_kexec is called as the bellow. > 1. unknown NMI is occurred. (e.g. by pushing NMI botton) > 2. xen recieved NMI and call do_nmi. > 3. xen report to dom0 by using raise_softirq(NMI_SOFTIRQ). > 4. dom0 call crash_kexec of dom0. > 5. crash_kexec of dom0 call crash_kexec of xen > > Am I correct? > The above process is not reliable if I'm correct. > So I belive crash_kexec of xen should be directly called like the > following patch. > > diff -r 9611a5c9e1a1 xen/arch/x86/traps.c > --- a/xen/arch/x86/traps.c Thu Aug 31 13:12:26 2006 +0900 > +++ b/xen/arch/x86/traps.c Thu Aug 31 17:40:19 2006 +0900 > @@ -1612,6 +1612,7 @@ asmlinkage void do_nmi(struct cpu_user_r > else if ( reason & 0x40 ) > io_check_error(regs); > else if ( !nmi_watchdog ) > + crash_kexec(NULL); > unknown_nmi_error((unsigned char)(reason&0xff)); > } > } > > What do you think about it? That seems like a good idea to me. Though I think you are missing { }. Can you test to see if this works? --- a/xen/arch/x86/traps.c 2006-09-01 11:53:44.000000000 +0900 +++ b/xen/arch/x86/traps.c 2006-09-01 11:53:56.000000000 +0900 @@ -1611,8 +1611,10 @@ mem_parity_error(regs); else if ( reason & 0x40 ) io_check_error(regs); - else if ( !nmi_watchdog ) + else if ( !nmi_watchdog ) { + crash_kexec(NULL); unknown_nmi_error((unsigned char)(reason&0xff)); + } } } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |