From: Peter Zijlstra <peterz@infradead•org>
To: Heiko Carstens <hca@linux•ibm.com>
Cc: Mikhail Zaslonko <zaslonko@linux•ibm.com>,
linux-next@vger•kernel.org, linux-s390@vger•kernel.org,
Ingo Molnar <mingo@kernel•org>,
Alexander Egorenkov <egorenar@linux•ibm.com>,
Thomas Gleixner <tglx@kernel•org>,
"Paul E. McKenney" <paulmck@kernel•org>
Subject: Re: [linux-next][s390] Boot hang after merge c50f05bd3c4e (sched/hrtick)
Date: Thu, 5 Mar 2026 14:07:25 +0100 [thread overview]
Message-ID: <20260305130725.GB652779@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20260305124501.GB1395416@noisy.programming.kicks-ass.net>
On Thu, Mar 05, 2026 at 01:45:01PM +0100, Peter Zijlstra wrote:
> On Thu, Mar 05, 2026 at 01:35:05PM +0100, Peter Zijlstra wrote:
> > On Thu, Mar 05, 2026 at 01:12:01PM +0100, Peter Zijlstra wrote:
> >
> > > > Any idea?
> > >
> > > Well, that all looks like timers are going missing. Which matches with
> > > Sven saying that disabling HRTIMER_REARM_DEFERRED makes it go again.
> > >
> > > I'm just not sure I can see why things would break between
> > > sched/hrtick (GOOD) and 1b8b1bb2a2fa (BAD).
> > >
> > > Looking at the diff (eg git diff d50da4b5915f..c50f05bd3c4e) show some
> > > idle time changes to s390 and various kernel/ changes, but nothing that
> > > stands out to me :/
> >
> > That s390 idle time code..
> >
> > 0d785e2c324c ("s390/idle: Fix cpu idle exit cpu time accounting")
> >
> > That moves this_cpu_add() from inside irq_enter_rcu() / irq_exit_rcu()
> > to outside of it.
> >
> > Your this_cpu_add() as preempt_enable(), which does a preemption check.
> >
> > Moving that before irq_enter_rcu() means it doesn't see HARDIRQ_OFFSET
> > in preempt_count(). As such, it might actually call into schedule() from
> > hardirq context.
> >
> > Or am I missing something?
>
> N/m, it turns into __this_cpu_add() and that doesn't have
> preempt_enable().
>
> 00d8b035eb71 ("s390/idle: Slightly optimize idle time accounting")
>
> Is actually a correctness fix afaict.
Another change is that you clear I and E in the PSW bit before
irq_enter_rcu(), which, per:
7e641e52cf5f ("softirq: Prepare for deferred hrtimer rearming")
can re-arm the timer.
So where previously it would re-arm and still have the I/E bits set, so
the timer could fire, they are now disabled.
I really don't know if this is a problem; I'm clutching at s390 straws
here that I really don't know much about.
next prev parent reply other threads:[~2026-03-05 13:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 18:31 [linux-next][s390] Boot hang after merge c50f05bd3c4e (sched/hrtick) Mikhail Zaslonko
2026-03-04 16:13 ` Mikhail Zaslonko
2026-03-05 7:49 ` Heiko Carstens
2026-03-05 12:12 ` Peter Zijlstra
2026-03-05 12:35 ` Peter Zijlstra
2026-03-05 12:45 ` Peter Zijlstra
2026-03-05 13:07 ` Peter Zijlstra [this message]
2026-03-05 15:02 ` Heiko Carstens
2026-03-05 17:24 ` Mikhail Zaslonko
2026-03-05 19:48 ` Heiko Carstens
2026-03-06 8:41 ` Peter Zijlstra
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=20260305130725.GB652779@noisy.programming.kicks-ass.net \
--to=peterz@infradead$(echo .)org \
--cc=egorenar@linux$(echo .)ibm.com \
--cc=hca@linux$(echo .)ibm.com \
--cc=linux-next@vger$(echo .)kernel.org \
--cc=linux-s390@vger$(echo .)kernel.org \
--cc=mingo@kernel$(echo .)org \
--cc=paulmck@kernel$(echo .)org \
--cc=tglx@kernel$(echo .)org \
--cc=zaslonko@linux$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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