Subject: Re: [PATCH] powerpc/vtime: Initialize starttime at boot for native accounting

From: "Christophe Leroy (CS GROUP)" <[email-masked]>
Date: Fri, 5 Jun 2026 07:32:56 +0200

Hi Shrikanth,

Le 05/06/2026 à 05:03, Shrikanth Hegde a écrit :
> Hi Christophe. Thanks for taking a look and review.
> 
> On 6/4/26 8:42 PM, Christophe Leroy (CS GROUP) wrote:
>>
> 
>>>> Also, does this warrant Fixes tag? I found these two likely candidates.
>>>> Likely this issues exists since beginning.
>>>> c223c90386bc powerpc32: provide VIRT_CPU_ACCOUNTING
>>>
>>> You say system has 240 CPU so I suppose this is not ppc32. That 
>>> commit wsa not supposed to change anything for ppc64, did you 
>>> identify anything special in that commit related to ppc64 ?
> 
> Yes. this was ppc64.
> 
>>>
>>>> b38a181c11d0 powerpc/time: isolate scaled cputime accounting in 
>>>> dedicated functions.
>>>
>>> This one is also pure code re-organisation, unless you've been able 
>>> to spot a particular issue ?
>>
>> Maybe commit cf9efce0ce31 ("powerpc: Account time using timebase 
>> rather than PURR")
>>
>> It removed snapshot_timebases() and I can't see anything to replace it.
>>
> 
> Yes. But this patch is dependent on Frederic's series.
> backporting that is going to be difficult. So i am thinking to avoid 
> putting Fixes tag.

Even if automatic backport will fail, it shouldn't be difficult to 
perform a manual backport by just adding the missing vtime_reset().
So I would put the Fixes tag to make people award.

> 
> 
>>
>>>
>>>>
>>>>   arch/powerpc/kernel/time.c | 4 +++-
>>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
>>>> index 3460d1a5a97c..11145c40183d 100644
>>>> --- a/arch/powerpc/kernel/time.c
>>>> +++ b/arch/powerpc/kernel/time.c
>>>> @@ -377,7 +377,6 @@ void vtime_task_switch(struct task_struct *prev)
>>>>       }
>>>>   }
>>>> -#ifdef CONFIG_NO_HZ_COMMON
>>>>   /**
>>>>    * vtime_reset - Fast forward vtime entry clocks
>>>>    *
>>>> @@ -394,6 +393,7 @@ void vtime_reset(void)
>>>>   #endif
>>>>   }
>>>> +#ifdef CONFIG_NO_HZ_COMMON
>>>>   /**
>>>>    * vtime_dyntick_start - Inform vtime about entry to idle-dynticks
>>>>    *
>>>> @@ -933,6 +933,7 @@ static void __init set_decrementer_max(void)
>>>>   static void __init init_decrementer_clockevent(void)
>>>>   {
>>>>       register_decrementer_clockevent(smp_processor_id());
>>>> +    vtime_reset();
>>>>   }
>>>>   void secondary_cpu_time_init(void)
>>>> @@ -948,6 +949,7 @@ void secondary_cpu_time_init(void)
>>>>       /* FIME: Should make unrelated change to move snapshot_timebase
>>>>        * call here ! */
>>>>       register_decrementer_clockevent(smp_processor_id());
>>>> +    vtime_reset();
>>>>   }
>>>>   /*
>>>
>>
> 
> Sorry i should have put this earlier, But this applies on top of tip/ 
> timers/nohz
> at 6199f9999a9b (origin/timers/nohz) sched/cputime: Handle dyntick-idle 
> steal time correctly
> (In case anyone tried applying on powerpc tree, it would fail)

Yep, I first looked vtime_reset() into linus tree, then found it in 
linux-next.

Christophe