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