? 2012?11?22? 14:34, Gleb Natapov ??: > On Thu, Nov 22, 2012 at 08:59:15AM +0800, Zhang Yanfei wrote: >> ? 2012?11?21? 18:33, Gleb Natapov ??: >>> On Wed, Nov 21, 2012 at 10:23:12AM +0800, Zhang Yanfei wrote: >>>> This patch adds an atomic notifier list named crash_notifier_list. >>>> When loading kvm-intel module, a notifier will be registered in >>>> the list to enable vmcss loaded on all cpus to be VMCLEAR'd if >>>> needed. >>>> >>>> Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> >>>> --- >>>> arch/x86/include/asm/kexec.h | 2 ++ >>>> arch/x86/kernel/crash.c | 25 +++++++++++++++++++++++++ >>>> 2 files changed, 27 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/arch/x86/include/asm/kexec.h b/arch/x86/include/asm/kexec.h >>>> index 317ff17..5e22b00 100644 >>>> --- a/arch/x86/include/asm/kexec.h >>>> +++ b/arch/x86/include/asm/kexec.h >>>> @@ -163,6 +163,8 @@ struct kimage_arch { >>>> }; >>>> #endif >>>> >>>> +extern struct atomic_notifier_head crash_notifier_list; >>>> + >>>> #endif /* __ASSEMBLY__ */ >>>> >>>> #endif /* _ASM_X86_KEXEC_H */ >>>> diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c >>>> index 13ad899..0f3d5b4 100644 >>>> --- a/arch/x86/kernel/crash.c >>>> +++ b/arch/x86/kernel/crash.c >>>> @@ -16,6 +16,8 @@ >>>> #include <linux/delay.h> >>>> #include <linux/elf.h> >>>> #include <linux/elfcore.h> >>>> +#include <linux/module.h> >>>> +#include <linux/notifier.h> >>>> >>>> #include <asm/processor.h> >>>> #include <asm/hardirq.h> >>>> @@ -30,6 +32,19 @@ >>>> >>>> int in_crash_kexec; >>>> >>>> +/* >>>> + * The list is used to VMCLEAR vmcss loaded on all >>>> + * cpus. And when loading kvm_intel module, the >>>> + * vmclear function will be registered in the list. >>>> + */ >>>> +ATOMIC_NOTIFIER_HEAD(crash_notifier_list); >>>> +EXPORT_SYMBOL_GPL(crash_notifier_list); >>>> + >>>> +static inline void cpu_emergency_vmclear_loaded_vmcss(void) >>>> +{ >>>> + atomic_notifier_call_chain(&crash_notifier_list, 0, NULL); >>>> +} >>>> + >>> The notifier list is not VMX specific. It may be used for other >>> purposes, so please use better name or just open code it. >> >> OK, thanks. crash_notifier_list --> vmclear_notifier_list? > It is even worse. You are adding general infrastructure here, not > related to KVM at all. Choose neutral names, drop all comments about > VMCLEAR. Ah, I think I misunderstood what you mean before. OK, I know what you mean now: make crash_notifier_list unchanged and remove the comments related to VMX and open code the atomic_notifier_call_chain function. Thanks