On Fri, Oct 19, 2012 at 01:45:27PM +0800, Tang Chen wrote:cmci_rediscover() is only called by the CPU_POST_DEAD event handler,
which means the corresponding cpu has already dead. As a result, it
won't be accessed in the for_each_online_cpu loop.
So, we could change the if(cpu == dying) statement into a WARN_ON_ONCE().
Signed-off-by: Tang Chen<tangchen@xxxxxxxxxxxxxx>
arch/x86/kernel/cpu/mcheck/mce_intel.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel.c b/arch/x86/kernel/cpu/mcheck/mce_intel.c
index 38e49bc..481d152 100644
@@ -180,8 +180,8 @@ void cmci_rediscover(int dying)
- if (cpu == dying)
+ WARN_ON_ONCE(cpu == dying);
Ok, I don't understand that:
we want to warn that the rediscovering is happening on a dying cpu?? And
before that, we simply jumped over it and didn't do the rediscovering
there? Why should we warn at all?