The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=acd02443a952b1f5412d35d03f081ad48bae34d7
commit acd02443a952b1f5412d35d03f081ad48bae34d7 Author: John Baldwin <[email protected]> AuthorDate: 2025-12-08 16:15:52 +0000 Commit: John Baldwin <[email protected]> CommitDate: 2025-12-08 16:16:14 +0000 proc0_post: Clear relevant thread stats directly rufetch() has several other effects besides clearing these per-thread stats most of which are explicitly discarded by the subsequent calls to ruxreset(). Just clear the relevant stats directly instead. Reviewed by: olce, kib, markj Differential Revision: https://reviews.freebsd.org/D54050 --- sys/kern/init_main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 8d1ee7b0fd99..4144297d674c 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -643,7 +643,6 @@ static void proc0_post(void *dummy __unused) { struct proc *p; - struct rusage ru; struct thread *td; /* @@ -660,11 +659,15 @@ proc0_post(void *dummy __unused) } microuptime(&p->p_stats->p_start); PROC_STATLOCK(p); - rufetch(p, &ru); /* Clears thread stats */ ruxreset(&p->p_rux); FOREACH_THREAD_IN_PROC(p, td) { - td->td_runtime = 0; thread_lock(td); + td->td_incruntime = 0; + td->td_runtime = 0; + td->td_pticks = 0; + td->td_sticks = 0; + td->td_iticks = 0; + td->td_uticks = 0; ruxreset(&td->td_rux); thread_unlock(td); }
