public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
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.

  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