linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC
@ 2013-12-05  0:07 Fenghua Yu
  2013-12-05  3:36 ` [tip:x86/urgent] x86/apic, doc: " tip-bot for Fenghua Yu
  2013-12-05  8:54 ` [PATCH] x86/apic: " Ingo Molnar
  0 siblings, 2 replies; 4+ messages in thread
From: Fenghua Yu @ 2013-12-05  0:07 UTC (permalink / raw)
  To: Ingo Molnar, H. Peter Anvin, Thomas Gleixner
  Cc: linux-kernel, x86, Fenghua Yu

From: Fenghua Yu <fenghua.yu@intel.com>

Since erratum AVR31 in "Intel Atom Processor C2000 Product Family
Specification Update" is published, I add a justification comment for
disabling IO APIC before Local APIC (commit 522e6646).

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
---
 arch/x86/kernel/reboot.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index da3c599..c752cb4 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -558,6 +558,17 @@ void native_machine_shutdown(void)
 {
 	/* Stop the cpus and apics */
 #ifdef CONFIG_X86_IO_APIC
+	/*
+	 * Disabling IO APIC before local APIC is a workaround for
+	 * erratum AVR31 in "Intel Atom Processor C2000 Product Family
+	 * Specification Update". In this situation, interrupts that target
+	 * a Logical Processor whose Local APIC is either in the process of
+	 * being hardware disabled or software disabled are neither delivered
+	 * nor discarded. When this erratum occurs, the processor may hang.
+	 *
+	 * Even without the erratum, it still makes sense to quiet IO APIC
+	 * before disabling Local APIC.
+	 */
 	disable_IO_APIC();
 #endif
 
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [tip:x86/urgent] x86/apic, doc: Justification for disabling IO APIC before Local APIC
  2013-12-05  0:07 [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC Fenghua Yu
@ 2013-12-05  3:36 ` tip-bot for Fenghua Yu
  2013-12-05  8:54 ` [PATCH] x86/apic: " Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Fenghua Yu @ 2013-12-05  3:36 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, fenghua.yu, tglx, hpa

Commit-ID:  2885432aaf15c1b7e65c787bfe7c5fec428296f0
Gitweb:     http://git.kernel.org/tip/2885432aaf15c1b7e65c787bfe7c5fec428296f0
Author:     Fenghua Yu <fenghua.yu@intel.com>
AuthorDate: Wed, 4 Dec 2013 16:07:49 -0800
Committer:  H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Wed, 4 Dec 2013 19:33:21 -0800

x86/apic, doc: Justification for disabling IO APIC before Local APIC

Since erratum AVR31 in "Intel Atom Processor C2000 Product Family
Specification Update" is now published, I added a justification
comment for disabling IO APIC before Local APIC, as changed in commit:

522e66464467 x86/apic: Disable I/O APIC before shutdown of the local APIC

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1386202069-51515-1-git-send-email-fenghua.yu@intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/x86/kernel/reboot.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index da3c599..c752cb4 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -558,6 +558,17 @@ void native_machine_shutdown(void)
 {
 	/* Stop the cpus and apics */
 #ifdef CONFIG_X86_IO_APIC
+	/*
+	 * Disabling IO APIC before local APIC is a workaround for
+	 * erratum AVR31 in "Intel Atom Processor C2000 Product Family
+	 * Specification Update". In this situation, interrupts that target
+	 * a Logical Processor whose Local APIC is either in the process of
+	 * being hardware disabled or software disabled are neither delivered
+	 * nor discarded. When this erratum occurs, the processor may hang.
+	 *
+	 * Even without the erratum, it still makes sense to quiet IO APIC
+	 * before disabling Local APIC.
+	 */
 	disable_IO_APIC();
 #endif
 

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC
  2013-12-05  0:07 [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC Fenghua Yu
  2013-12-05  3:36 ` [tip:x86/urgent] x86/apic, doc: " tip-bot for Fenghua Yu
@ 2013-12-05  8:54 ` Ingo Molnar
  2013-12-05 13:27   ` Yu, Fenghua
  1 sibling, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2013-12-05  8:54 UTC (permalink / raw)
  To: Fenghua Yu
  Cc: Ingo Molnar, H. Peter Anvin, Thomas Gleixner, linux-kernel, x86


* Fenghua Yu <fenghua.yu@intel.com> wrote:

> From: Fenghua Yu <fenghua.yu@intel.com>
> 
> Since erratum AVR31 in "Intel Atom Processor C2000 Product Family
> Specification Update" is published, I add a justification comment for
> disabling IO APIC before Local APIC (commit 522e6646).
> 
> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> ---
>  arch/x86/kernel/reboot.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
> index da3c599..c752cb4 100644
> --- a/arch/x86/kernel/reboot.c
> +++ b/arch/x86/kernel/reboot.c
> @@ -558,6 +558,17 @@ void native_machine_shutdown(void)
>  {
>  	/* Stop the cpus and apics */
>  #ifdef CONFIG_X86_IO_APIC
> +	/*
> +	 * Disabling IO APIC before local APIC is a workaround for
> +	 * erratum AVR31 in "Intel Atom Processor C2000 Product Family
> +	 * Specification Update". In this situation, interrupts that target
> +	 * a Logical Processor whose Local APIC is either in the process of
> +	 * being hardware disabled or software disabled are neither delivered
> +	 * nor discarded. When this erratum occurs, the processor may hang.
> +	 *
> +	 * Even without the erratum, it still makes sense to quiet IO APIC
> +	 * before disabling Local APIC.
> +	 */
>  	disable_IO_APIC();
>  #endif

Looks good to me, except that patch titles should start with verbs, 
i.e. something like:

  x86/apic/doc: Add justification for disabling IO APIC before Local APIC

Which makes for a much more fluid reading of shortlogs etc.

Unless you sentences without verbs.
          ^-------------------------------------------like

;-)

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC
  2013-12-05  8:54 ` [PATCH] x86/apic: " Ingo Molnar
@ 2013-12-05 13:27   ` Yu, Fenghua
  0 siblings, 0 replies; 4+ messages in thread
From: Yu, Fenghua @ 2013-12-05 13:27 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Ingo Molnar, H. Peter Anvin, Thomas Gleixner, linux-kernel, x86

> From: Ingo Molnar [mailto:mingo.kernel.org@gmail.com] On Behalf Of Ingo
> Molnar
> Sent: Thursday, December 05, 2013 12:55 AM
> 
> 
> * Fenghua Yu <fenghua.yu@intel.com> wrote:
> 
> > From: Fenghua Yu <fenghua.yu@intel.com>
> >
> > Since erratum AVR31 in "Intel Atom Processor C2000 Product Family
> > Specification Update" is published, I add a justification comment for
> > disabling IO APIC before Local APIC (commit 522e6646).
> >
> 
> Looks good to me, except that patch titles should start with verbs,
> i.e. something like:
> 
>   x86/apic/doc: Add justification for disabling IO APIC before Local
> APIC
> 
> Which makes for a much more fluid reading of shortlogs etc.
> 
> Unless you sentences without verbs.
>           ^-------------------------------------------like
> 
> ;-)
> 
> Thanks,
> 
> 	Ingo

Thank you very much for your comment, Ingo.

-Fenghua

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-05 13:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-05  0:07 [PATCH] x86/apic: Justification for disabling IO APIC before Local APIC Fenghua Yu
2013-12-05  3:36 ` [tip:x86/urgent] x86/apic, doc: " tip-bot for Fenghua Yu
2013-12-05  8:54 ` [PATCH] x86/apic: " Ingo Molnar
2013-12-05 13:27   ` Yu, Fenghua

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).