From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
To: Shrikanth Hegde <sshegde@linux.ibm.com>,
maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
christophe.leroy@csgroup.eu
Cc: frederic@kernel.org
Subject: Re: [PATCH] powerpc/vtime: Initialize starttime at boot for native accounting
Date: Thu, 4 Jun 2026 16:51:14 +0200 [thread overview]
Message-ID: <e69ad352-6835-414b-845b-03f45fdd9a45@kernel.org> (raw)
In-Reply-To: <20260604132429.297665-1-sshegde@linux.ibm.com>
Le 04/06/2026 à 15:24, Shrikanth Hegde a écrit :
> It was observed that /proc/stat had very large value for one ore more
> CPUs. It was more visible after recent code simplifications around
> cpustats.
>
> System has 240 CPUs.
>
> cat /proc/uptime;
> 194.18 46500.55
> cat /proc/stat
> cpu 5966 39 837032887 4650070 164 185 100 0 0 0
> cpu0 108 0 837030890 19109 24 4 23 0 0 0
>
> Since uptime is 194s, system time of each CPU can't be more than 19400.
> Sum of system time of all CPUs can't be more than 19400*240 4656000.
> In fact huge value is close to mftb(). Note mftb doesn't reset on powerVM
> when the LPAR restart. It only resets when whole system resets. The same
> issue exists for kexec too.
>
> This happens since starttime is not setup at init time. Once it is set
> then subsequent vtime_delta will return the right delta.
>
> Fix it by initializing the starttime during CPU initialization. This
> fixes the large times seen.
>
> cat /proc/uptime; cat /proc/stat
> 15.78 3694.63
> cpu 6035 35 1347 369479 23 144 49 0 0 0
> cpu0 19 0 38 1508 0 1 14 0 0 0
>
> Now, system time is reported as expected.
>
> Suggested-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
> Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Reviewed-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
> ---
>
> Christophe, I have taken the patch as is from the discussion we had.
> Let me know if i should send it with your signed-off-by tag. I have just
> written the changelog. I sent it like this since tag was not there.
Suggested-by is fine for me.
>
> discussion thread:
> https://lore.kernel.org/all/cd10be19-e0bc-4e0c-8dac-4f1c05d0de8f@kernel.org/
>
> 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 ?
> 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 ?
>
> 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();
> }
>
> /*
next prev parent reply other threads:[~2026-06-04 14:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-04 13:24 [PATCH] powerpc/vtime: Initialize starttime at boot for native accounting Shrikanth Hegde
2026-06-04 14:51 ` Christophe Leroy (CS GROUP) [this message]
2026-06-04 15:12 ` Christophe Leroy (CS GROUP)
2026-06-05 3:03 ` Shrikanth Hegde
2026-06-05 5:32 ` Christophe Leroy (CS GROUP)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e69ad352-6835-414b-845b-03f45fdd9a45@kernel.org \
--to=chleroy@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=frederic@kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=sshegde@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox