Re: [PATCH v2 1/3] context_tracking: Split guest_enter/exit_irqoff

From: Wanpeng Li
Date: Tue Apr 13 2021 - 03:39:10 EST


On Tue, 13 Apr 2021 at 15:35, Christian Borntraeger
<borntraeger@xxxxxxxxxx> wrote:
>
>
>
> On 13.04.21 09:16, Wanpeng Li wrote:
> [...]
>
> > @@ -145,6 +155,13 @@ static __always_inline void guest_exit_irqoff(void)
> > }
> >
> > #else
> > +static __always_inline void context_guest_enter_irqoff(void)
> > +{
> > + instrumentation_begin();
> > + rcu_virt_note_context_switch(smp_processor_id());
> > + instrumentation_end();
> > +}
> > +
> > static __always_inline void guest_enter_irqoff(void)
> > {
> > /*
> > @@ -155,10 +172,13 @@ static __always_inline void guest_enter_irqoff(void)
> > instrumentation_begin();
> > vtime_account_kernel(current);
> > current->flags |= PF_VCPU;
> > - rcu_virt_note_context_switch(smp_processor_id());
> > instrumentation_end();
> > +
> > + context_guest_enter_irqoff();
>
> So we now do instrumentation_begin 2 times?

Similar to context_guest_enter_irqoff() ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN.

Wanpeng