[PATCH] x86: make reboot task only run on the appropriate processor

Vivek Goyal vgoyal at redhat.com
Fri Nov 8 11:24:21 EST 2013


On Fri, Nov 08, 2013 at 08:12:00AM -0800, H. Peter Anvin wrote:
> On 11/08/2013 07:14 AM, Vivek Goyal wrote:
> > 
> > Hi Bao,
> > 
> > This patch fixes the issue for me too. I noticed that we have generic
> > function migrate_to_reboot_cpu() to achieve what we want and rest of
> > the reboot paths are using it. So how about using that function. I 
> > wrote the new patch below. It works for me. Can you please give it
> > a try.
> > 
> > Thanks
> > Vivek
> > 
> 
> Is this path exercised for the kdump flow?  migrate_to_reboot_cpu() is
> unsafe in that case.

kdump path should not be affected by this change as it uses crash_kexec()
instead of kerenl_kexec() for its entry. And crash_kexec() path does not
call migrate_to_reboot_cpu().

Thanks
Vivek

> 
> > Index: linux-2.6/kernel/kexec.c
> > ===================================================================
> > --- linux-2.6.orig/kernel/kexec.c	2013-10-16 00:30:50.000000000 -0400
> > +++ linux-2.6/kernel/kexec.c	2013-11-08 21:34:02.492072375 -0500
> > @@ -1676,6 +1676,7 @@ int kernel_kexec(void)
> >  #endif
> >  	{
> >  		kernel_restart_prepare(NULL);
> > +		migrate_to_reboot_cpu();
> >  		printk(KERN_EMERG "Starting new kernel\n");
> >  		machine_shutdown();
> >  	}
> > 



More information about the kexec mailing list