lkml.org 
[lkml]   [2022]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v10 017/108] KVM: TDX: Refuse to unplug the last cpu on the package
On Wed, Nov 02, 2022 at 04:06:20PM +0800,
Binbin Wu <binbin.wu@linux.intel.com> wrote:

> > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> > index 4b22196cb12c..25c30c8c2d9b 100644
> > --- a/arch/x86/kvm/x86.c
> > +++ b/arch/x86/kvm/x86.c
> > @@ -12337,16 +12337,23 @@ int kvm_arch_online_cpu(unsigned int cpu, int usage_count)
> > int kvm_arch_offline_cpu(unsigned int cpu, int usage_count)
> > {
> > - if (usage_count) {
> > - /*
> > - * arch callback kvm_arch_hardware_disable() assumes that
> > - * preemption is disabled for historical reason. Disable
> > - * preemption until all arch callbacks are fixed.
> > - */
> > - preempt_disable();
> > - hardware_disable(NULL);
> > - preempt_enable();
> > - }
> > + int ret;
> > +
> > + if (!usage_count)
> > + return 0;
> > +
> > + ret = static_call(kvm_x86_offline_cpu)();
>
> Use static_call_cond instead?
> Seems the new interface for x86 is only implemented for Intel.

Not needed because KVM_X86_OP_OPTIONAL_RET0(offline_cpu) is used.

Please remember
#define KVM_X86_OP_OPTIONAL_RET0(func) \
static_call_update(kvm_x86_##func, (void *)kvm_x86_ops.func ? : \
(void *)__static_call_return0);
Thanks,
--
Isaku Yamahata <isaku.yamahata@gmail.com>

\
 
 \ /
  Last update: 2022-11-03 03:02    [W:0.459 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site