lkml.org 
[lkml]   [2021]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 1/3] context_tracking: Split guest_enter/exit_irqoff
From
Date


On 13.04.21 09:38, Wanpeng Li wrote:
> On Tue, 13 Apr 2021 at 15:35, Christian Borntraeger
> <borntraeger@de.ibm.com> wrote:
>>
>>
>>
>> On 13.04.21 09:16, Wanpeng Li wrote:
>> [...]
>>
>>> @@ -145,6 +155,13 @@ static __always_inline void guest_exit_irqoff(void)
>>> }
>>>
>>> #else
THis is the else part


>>> +static __always_inline void context_guest_enter_irqoff(void)
>>> +{
>>> + instrumentation_begin();

2nd on
>>> + rcu_virt_note_context_switch(smp_processor_id());
>>> + instrumentation_end();
2nd off
>>> +}
>>> +
>>> static __always_inline void guest_enter_irqoff(void)
>>> {
>>> /*
>>> @@ -155,10 +172,13 @@ static __always_inline void guest_enter_irqoff(void)
>>> instrumentation_begin();

first on
>>> vtime_account_kernel(current);
>>> current->flags |= PF_VCPU;
>>> - rcu_virt_note_context_switch(smp_processor_id());
>>> instrumentation_end();

first off
>>> +
>>> + context_guest_enter_irqoff();
here we call the 2nd on and off.
>>
>> So we now do instrumentation_begin 2 times?
>
> Similar to context_guest_enter_irqoff() ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN.

For the
ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN part
context_guest_enter_irqoff()
does not have instrumentation_begin/end.

Or did I miss anything.

\
 
 \ /
  Last update: 2021-04-13 09:50    [W:0.061 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site