Messages in this thread | | | Date | Tue, 19 Jun 2012 14:05:08 +0800 | From | Chen Gong <> | Subject | Re: [PATCH V2] tmp patch to fix hotplug issue in CMCI storm |
| |
于 2012/6/18 20:23, Thomas Gleixner 写道: > On Mon, 18 Jun 2012, Chen Gong wrote: >> 于 2012/6/18 16:00, Thomas Gleixner 写道: >>> On Mon, 18 Jun 2012, Chen Gong wrote: >>>> index 92d8b5c..0493525 100644 >>>> --- a/arch/x86/kernel/cpu/mcheck/mce_intel.c >>>> +++ b/arch/x86/kernel/cpu/mcheck/mce_intel.c >>>> @@ -40,6 +40,7 @@ static DEFINE_RAW_SPINLOCK(cmci_discover_lock); >>>> static DEFINE_PER_CPU(unsigned long, cmci_time_stamp); >>>> static DEFINE_PER_CPU(unsigned int, cmci_storm_cnt); >>>> static DEFINE_PER_CPU(unsigned int, cmci_storm_state); >>>> +static DEFINE_PER_CPU(unsigned long, cmci_storm_hcpu_status); >>> >>> Why do you insist on having another status variable, which does >>> actually nothing than obfuscate the code? >>> >>> Look at the usage sites: >>> >>>> __this_cpu_write(cmci_storm_state, CMCI_STORM_SUBSIDED); >>>> + __this_cpu_write(cmci_storm_hcpu_status, >>>> CMCI_STORM_HCPU_NONE); >> >> Because here I can't substitute CMCI_STORM_HCPU_NONE with >> CMCI_STORM_SUBSIDED. If so, the status is chaos. > > Have you actually read what I wrote later? You do not neeed that extra > state, period. >
Oh, yes, you are right. I really don't take enough time on your reply. I apology for it. Unconditionally clearing the state can avoid stale CMCI_STORM_SUBSIDED status. Your logic is fine and simply my previous unnecessarily complicated logic. Thanks a lot.
I will send the V3 tmp patch based on your previous 5 patches right now. If OK, you can merge it into your 5th patch and I can write the comment for this patch if you are OK.
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |