[PATCH v21 3/8] arm64: kdump: implement machine_crash_shutdown()

Geoff Levand geoff at infradead.org
Thu Jul 7 09:42:34 PDT 2016


Hi,

On Thu, 2016-07-07 at 09:43 +0900, AKASHI Takahiro wrote:
> On Wed, Jul 06, 2016 at 10:28:57AM -0700, Geoff Levand wrote:
> > On Wed, 2016-07-06 at 16:52 +0900, AKASHI Takahiro wrote:
> > > @@ -830,6 +855,14 @@ void handle_IPI(int ipinr, struct pt_regs
> > > *regs)
> > >  > > > > 	> > > > > > > 	> > > > irq_exit();
> > >  > > > > 	> > > > > > > 	> > > > break;
> > >  
> > > +#ifdef CONFIG_KEXEC_CORE
> > > +> > > > 	> > > > case IPI_CPU_CRASH_STOP:
> > > +> > > > 	> > > > > > > 	> > > > irq_enter();
> > > +> > > > 	> > > > > > > 	> > > > ipi_cpu_crash_stop(cpu, regs);
> > > +
> > > +> > > > 	> > > > > > > 	> > > > unreachable();
> > > +#endif
> > 
> > It seems like you could simplifiy with something like:
> > 
> > 	> > case IPI_CPU_CRASH_STOP:
> > 	> > 	> > if (IS_ENABLED(CONFIG_KEXEC_CORE) {
> > 	> > 	> > 	> > irq_enter();
> > 	> > 	> > 	> > ipi_cpu_crash_stop(cpu, regs);
> > 	> > 	> > 	> > unreachable();
> > 	> > 	> > }
> 
> OK, I will take this.
> 
> > Then move the CONFIG_KEXEC_CORE conditional around
> > ipi_cpu_crash_stop to just around crash_save_cpu().
> 
> Yeah, we can do that, but I added these conditionals just because
> the kernel size can be reduced (a bit, obviously) if kexec is
> not needed.

The linker will remove the unused ipi_cpu_crash_stop since
it is static.  atomic_t waiting_for_crash_ipi also becomes
unused, and I think it will be removed also.  The motivation
for these changes is to get a build test of this code
even when CONFIG_KEXEC_CORE=n.

-Geoff




More information about the linux-arm-kernel mailing list