All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Bert Karwatzki <spasswolf@web.de>
Cc: Calvin Owens <calvin@wbinvd.org>, Tejun Heo <tj@kernel.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	dschatzberg@meta.com, peterz@infradead.org,
	linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev
Subject: Re: ~90s shutdown delay with v6.19 and PREEMPT_RT
Date: Mon, 23 Feb 2026 03:22:57 -0500	[thread overview]
Message-ID: <20260223032257.4e6db467@fedora> (raw)
In-Reply-To: <ba582a2511d8cd4cda5a186ec48263076ac885cc.camel@web.de>

On Mon, 23 Feb 2026 01:35:36 +0100
Bert Karwatzki <spasswolf@web.de> wrote:

> So the time to was is ~120s with PREEMPT_RT and 7s without.
> 
> The interesting difference between these two traces is that the second one only
> contains messages with "status" d..2. while the first also contains some with different status
> (191 of 265126). Could these be the reason for the delay.
> 
> $ grep -v d..2. trace.txt
> 
> # tracer: nop
> #
> # entries-in-buffer/entries-written: 265126/265126   #P:16
> #
> #                                _-----=> irqs-off/BH-disabled
> #                               / _----=> need-resched
> #                              | / _---=> hardirq/softirq
> #                              || / _--=> preempt-depth
> #                              ||| / _-=> migrate-disable
> #                              |||| /     delay
> #           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
> #              | |         |   |||||     |         |
>            <...>-1584    [011] D..22    62.779670: sched_switch: prev_comm=ntpd prev_pid=0x630 (1584) prev_prio=0x78 (120) prev_state=0x100 (256)
> next_comm=mt76-tx phy0 next_pid=0x5fb (1531) next_prio=0x62 (98)

The 'D' means both interrupts 'd' and softirqs 'b' are disabled.

The last number is migrate disable which means the task is pinned to a
CPU. That may be an issue if the system is trying to take down a CPU
and there's a task pinned to it.

Now that we know that the persistent ring buffer works, we can add even
more debugging. We could see where things are stuck...

  cd /sys/kernel/tracing/instances/boot_map
  echo 'stacktrace if prev_state & 3' > events/sched/sched_switch/trigger

That will do a stacktrace at every location that schedules out in a
non-running state. That way we can see what is waiting for something to
finish.

Then in a separate boot, we may want to see where things are pinned.

  echo 'stacktrace if common_flags & 0xf00' > events/sched/sched_switch/trigger

That will do a stacktrace every time a task schedules out with
migration disabled.

-- Steve

  reply	other threads:[~2026-02-23  8:23 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-04 18:11 DEBUG_ATOMIC_SLEEP spew in cgroup_task_dead() on next-20251104 Calvin Owens
2025-11-04 19:30 ` Tejun Heo
2025-11-05 15:16   ` Calvin Owens
2025-11-05 19:03     ` [PATCH cgroup/for-6.19] cgroup: Fix sleeping from invalid context warning on PREEMPT_RT Tejun Heo
2025-11-06  1:15       ` Calvin Owens
2025-11-06 17:36         ` Tejun Heo
2025-11-06 15:07       ` Sebastian Andrzej Siewior
2025-11-06 17:37         ` Tejun Heo
2025-11-06 17:46           ` Sebastian Andrzej Siewior
2025-11-06 17:55             ` Tejun Heo
2025-11-06 18:06               ` Sebastian Andrzej Siewior
2026-02-19 16:46       ` ~90s reboot delay with v6.19 and PREEMPT_RT Bert Karwatzki
2026-02-19 20:53         ` Calvin Owens
2026-02-19 23:10           ` Bert Karwatzki
2026-02-20  0:58             ` Steven Rostedt
2026-02-20  9:15               ` ~90s shutdown " Bert Karwatzki
2026-02-20 15:44                 ` Steven Rostedt
2026-02-23  0:35                   ` Bert Karwatzki
2026-02-23  8:22                     ` Steven Rostedt [this message]
2026-02-23 13:36                       ` Bert Karwatzki
2026-02-23 23:36                         ` Bert Karwatzki
2026-02-24 12:44                           ` Bert Karwatzki
2026-02-24 12:58                             ` Bert Karwatzki
2026-02-24 14:20                           ` Steven Rostedt
2026-02-24 15:45             ` ~90s reboot " Sebastian Andrzej Siewior
2026-02-25 15:43         ` Sebastian Andrzej Siewior
2026-02-25 16:37           ` Bert Karwatzki
2026-02-25 16:59             ` Sebastian Andrzej Siewior
2026-02-25 22:31               ` Sebastian Andrzej Siewior
2026-02-26 13:24                 ` Bert Karwatzki
2026-02-26 13:46                   ` Sebastian Andrzej Siewior
2026-02-26 16:37                   ` Steven Rostedt
2026-02-27 14:13                 ` Sebastian Andrzej Siewior
2026-02-27 22:57                   ` Bert Karwatzki
2026-03-02 11:15                     ` Sebastian Andrzej Siewior
2025-11-04 19:32 ` [PATCH cgroup/for-6.19 1/2] cgroup: Convert css_set_lock from spinlock_t to raw_spinlock_t Tejun Heo
2025-11-05  7:30   ` Sebastian Andrzej Siewior
2025-11-05 16:19     ` Tejun Heo
2025-11-05  8:50   ` Peter Zijlstra
2025-11-05 16:20     ` Tejun Heo
2025-11-04 19:32 ` [PATCH cgroup/for-6.19 2/2] cgroup: Convert css_set_lock locking to use cleanup guards Tejun Heo

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=20260223032257.4e6db467@fedora \
    --to=rostedt@goodmis.org \
    --cc=bigeasy@linutronix.de \
    --cc=calvin@wbinvd.org \
    --cc=dschatzberg@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-devel@lists.linux.dev \
    --cc=peterz@infradead.org \
    --cc=spasswolf@web.de \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.