Message ID | 1505293975-26005-11-git-send-email-douly.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 13/09/17 11:12, Dou Liyang wrote: > XEN PV overrides smp_prepare_cpus(). xen_pv_smp_prepare_cpus() > initializes interrupts in the XEN PV specific way and does not invoke > native_smp_prepare_cpus(). As a consequence, x86_init.intr_mode_init() is > not invoked either. > > The invocation of x86_init.intr_mode_init() will be moved from > native_smp_prepare_cpus() in a follow up patch to solve <INSERT > REASON/PROBLEM>. I asked you to be more specific here before. So: what will be solved? Can I select a problem I like? ;-) > That move would cause the invocation of x86_init.intr_mode_init() for XEN > PV platforms. To prevent that, override the default x86_init.intr_mode_init() > callback with a noop(). > > [Rewrited by Thomas Gleixner <tglx@linutronix.de>] Rewritten? > Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> > Cc: xen-devel@lists.xenproject.org > Cc: boris.ostrovsky@oracle.com > Cc: Juergen Gross <jgross@suse.com> Regarding the changes below: Acked-by: Juergen Gross <jgross@suse.com> Juergen > --- > arch/x86/xen/enlighten_pv.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c > index ae2a2e2..934dc7f 100644 > --- a/arch/x86/xen/enlighten_pv.c > +++ b/arch/x86/xen/enlighten_pv.c > @@ -1232,6 +1232,7 @@ asmlinkage __visible void __init xen_start_kernel(void) > x86_platform.get_nmi_reason = xen_get_nmi_reason; > > x86_init.resources.memory_setup = xen_memory_setup; > + x86_init.irqs.intr_mode_init = x86_init_noop; > x86_init.oem.arch_setup = xen_arch_setup; > x86_init.oem.banner = xen_banner; > >
Hi Juergen, At 09/13/2017 05:45 PM, Juergen Gross wrote: > On 13/09/17 11:12, Dou Liyang wrote: >> XEN PV overrides smp_prepare_cpus(). xen_pv_smp_prepare_cpus() >> initializes interrupts in the XEN PV specific way and does not invoke >> native_smp_prepare_cpus(). As a consequence, x86_init.intr_mode_init() is >> not invoked either. >> >> The invocation of x86_init.intr_mode_init() will be moved from >> native_smp_prepare_cpus() in a follow up patch to solve <INSERT >> REASON/PROBLEM>. > > I asked you to be more specific here before. So: what will be solved? > Can I select a problem I like? ;-) Oops, I am sorry I missed it. I will modify it. ...to solve the dump-capture kernel hangs, if there is a notsc option in its command line. > >> That move would cause the invocation of x86_init.intr_mode_init() for XEN >> PV platforms. To prevent that, override the default x86_init.intr_mode_init() >> callback with a noop(). >> >> [Rewrited by Thomas Gleixner <tglx@linutronix.de>] > > Rewritten? Yeah, yeah. poor english skill :-). > >> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> >> Cc: xen-devel@lists.xenproject.org >> Cc: boris.ostrovsky@oracle.com >> Cc: Juergen Gross <jgross@suse.com> > > Regarding the changes below: > > Acked-by: Juergen Gross <jgross@suse.com> > Thank you for your acked, I will re-post it. Thanks, dou. > > Juergen > >> --- >> arch/x86/xen/enlighten_pv.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c >> index ae2a2e2..934dc7f 100644 >> --- a/arch/x86/xen/enlighten_pv.c >> +++ b/arch/x86/xen/enlighten_pv.c >> @@ -1232,6 +1232,7 @@ asmlinkage __visible void __init xen_start_kernel(void) >> x86_platform.get_nmi_reason = xen_get_nmi_reason; >> >> x86_init.resources.memory_setup = xen_memory_setup; >> + x86_init.irqs.intr_mode_init = x86_init_noop; >> x86_init.oem.arch_setup = xen_arch_setup; >> x86_init.oem.banner = xen_banner; >> >> > > > >
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index ae2a2e2..934dc7f 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -1232,6 +1232,7 @@ asmlinkage __visible void __init xen_start_kernel(void) x86_platform.get_nmi_reason = xen_get_nmi_reason; x86_init.resources.memory_setup = xen_memory_setup; + x86_init.irqs.intr_mode_init = x86_init_noop; x86_init.oem.arch_setup = xen_arch_setup; x86_init.oem.banner = xen_banner;
XEN PV overrides smp_prepare_cpus(). xen_pv_smp_prepare_cpus() initializes interrupts in the XEN PV specific way and does not invoke native_smp_prepare_cpus(). As a consequence, x86_init.intr_mode_init() is not invoked either. The invocation of x86_init.intr_mode_init() will be moved from native_smp_prepare_cpus() in a follow up patch to solve <INSERT REASON/PROBLEM>. That move would cause the invocation of x86_init.intr_mode_init() for XEN PV platforms. To prevent that, override the default x86_init.intr_mode_init() callback with a noop(). [Rewrited by Thomas Gleixner <tglx@linutronix.de>] Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> Cc: xen-devel@lists.xenproject.org Cc: boris.ostrovsky@oracle.com Cc: Juergen Gross <jgross@suse.com> --- arch/x86/xen/enlighten_pv.c | 1 + 1 file changed, 1 insertion(+)