[PATCH 2/2] kdump shutdown hook support

Michael Neuling mikey at neuling.org
Thu Dec 13 11:53:55 EST 2007


> 
> > +		if (setjmp(crash_shutdown_buf) == 0) {
> > +			asm volatile("sync; isync");
> > +			crash_shutdown_handles[i]();
> > +			asm volatile("sync; isync");
> > +			__delay(200);
> 
> This looks a bit random. Why the handcoded barriers, and why the delay?
> I don't see a need for the barriers at all here?

I was following the bouncing ball here from the xmon code.  We don't
want the hardware executing any of potentially dangerous hooks before
we've setup the setjmp save buffer.  Similar, any code past the
dangerous hooks shouldn't be executed before we take a machine check.

It's definitely not a fast path so.... :-)

> At least comment why the delay is needed (and why just 200 is
> sufficient). 

xmon.c says: 
   /* wait a little while to see if we get a machine check */

I'll update the "200" with a #define SETJMP_MACHINE_CHECK_DELAY and push
the same change into the xmon code.  This delay in the machine check is
apparently required on 601 machines.

All you other comments I agree with.

Mikey



More information about the Linuxppc-dev mailing list