All of lore.kernel.org
 help / color / mirror / Atom feed
* FW: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs
@ 2008-12-19  6:09 Ke, Liping
  2008-12-19 14:50 ` Keir Fraser
  0 siblings, 1 reply; 3+ messages in thread
From: Ke, Liping @ 2008-12-19  6:09 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel

Hi, All

Following 4 patches are for enabling CMCI of Intel CPUs in XEN.
---------------------------------------------------------------------------
Patch 1: remove_intel_mce_old.patch is to remove old p4/p6 files. The reason is that machine check architecture for Intel families including p4/p6/latest are similar. We need not keep duplicated codes.
Patch 2: change_stop_machine_run.patch changes stopmachine_run interface so that we can designate the callback function running on the cpu_map instead of single one. We do this change because *cmci owner change* callback (please refer to note 3 below) needs to be executed on each of online cpus when do CPU hotplug.
Patch 3: apic_cmci.patch adds the new CMCI LVT entry.
Patch 4: clean_and_cmci.patch contains the main CMCI support logic including CMCI interrupt handler, CMCI owner judge algorithm and polling mechanism, etc

----------------------------------------------------------------------------
About Test 
We wrote CMCI injection tool to test the patch. Also we wrote DOM0 test patches to see whether logs are accepted by DOM0.
We test the patches on both CMCI-support and NO-CMCI-support machine.
We test the patches combined with CPU online/offline ops and S3&S5 ops which cause banks owner changing
----------------------------------------------------------------------------
Below notes might be helpful
1) CMCI use another apic_lvt entry (now max_lvt could be 6 in newer Intel platform)

2) CMCI is combined with polling mechanism since some CPUs don't support CMCI. And for supporting CPUs, still some banks don't support CMCI. So we keep polling mechanism.

3) MCA banks shares between cores/threads. For avoiding mis-ops, we need to judge *owner* for each bank. Each bank only has one owner, the owner manages the bank. The owner will be set up when cpu_up. Owners might be changed when doing cpu-hotplug.

4) When one CMCI interrupt is accepted and logged by XEN, XEN will notify DOM0. We don't plan to check in DOM0 code now.

For more info, please refer to latest Intel software development manual, 
Chapter 14.
--------------------------------------------------------------------------
Machine check (Uncorrectable Error) support will be sent in later patches, so we keep old machine check handling code. 

Any comment, just let us know. 
Thanks a lot for your help!
Regards,
Criping

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

* Re: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs
  2008-12-19  6:09 FW: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs Ke, Liping
@ 2008-12-19 14:50 ` Keir Fraser
  2008-12-21 10:42   ` Ke, Liping
  0 siblings, 1 reply; 3+ messages in thread
From: Keir Fraser @ 2008-12-19 14:50 UTC (permalink / raw)
  To: Ke, Liping; +Cc: xen-devel

On 19/12/2008 06:09, "Ke, Liping" <liping.ke@intel.com> wrote:

> Hi, All
> 
> Following 4 patches are for enabling CMCI of Intel CPUs in XEN.

These patches are a mess. You can't apply them one by one and build Xen at
each intermediate step. Please properly divide into proper logical units.
For example, the change to stop_machine_run(), and fixes to every caller,
should be one single patch (probably the first patch). The patch to remove
the old MCE stuff either needs to be in the same patch that adds the new
support, or at least you need to fix up Makefiles etc so that applying that
patch alone does not break the build.

 -- Keir

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

* RE: Re: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs
  2008-12-19 14:50 ` Keir Fraser
@ 2008-12-21 10:42   ` Ke, Liping
  0 siblings, 0 replies; 3+ messages in thread
From: Ke, Liping @ 2008-12-21 10:42 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel

[-- Attachment #1: Type: text/plain, Size: 1238 bytes --]

O, sure. I will re-split the patch and fix it. 
Thanks for your suggestion!
Thanks& Regards
Criping
-----Original Message-----
From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Keir Fraser
Sent: 2008年12月19日 22:50
To: Ke, Liping
Cc: xen-devel@lists.xensource.com
Subject: [Xen-devel] Re: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs

On 19/12/2008 06:09, "Ke, Liping" <liping.ke@intel.com> wrote:

> Hi, All
> 
> Following 4 patches are for enabling CMCI of Intel CPUs in XEN.

These patches are a mess. You can't apply them one by one and build Xen at
each intermediate step. Please properly divide into proper logical units.
For example, the change to stop_machine_run(), and fixes to every caller,
should be one single patch (probably the first patch). The patch to remove
the old MCE stuff either needs to be in the same patch that adds the new
support, or at least you need to fix up Makefiles etc so that applying that
patch alone does not break the build.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

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

end of thread, other threads:[~2008-12-21 10:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-19  6:09 FW: [patch 0/4]Enable CMCI (Corrected Machine Check Error Interrupt) for Intel CPUs Ke, Liping
2008-12-19 14:50 ` Keir Fraser
2008-12-21 10:42   ` Ke, Liping

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.