1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-17 03:50:37 +00:00
Tetsuo Handa b88f55389a profiling: remove profile=sleep support
The kernel sleep profile is no longer working due to a recursive locking
bug introduced by commit 42a20f86dc19 ("sched: Add wrapper for get_wchan()
to keep task blocked")

Booting with the 'profile=sleep' kernel command line option added or
executing

  # echo -n sleep > /sys/kernel/profiling

after boot causes the system to lock up.

Lockdep reports

  kthreadd/3 is trying to acquire lock:
  ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: get_wchan+0x32/0x70

  but task is already holding lock:
  ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: try_to_wake_up+0x53/0x370

with the call trace being

   lock_acquire+0xc8/0x2f0
   get_wchan+0x32/0x70
   __update_stats_enqueue_sleeper+0x151/0x430
   enqueue_entity+0x4b0/0x520
   enqueue_task_fair+0x92/0x6b0
   ttwu_do_activate+0x73/0x140
   try_to_wake_up+0x213/0x370
   swake_up_locked+0x20/0x50
   complete+0x2f/0x40
   kthread+0xfb/0x180

However, since nobody noticed this regression for more than two years,
let's remove 'profile=sleep' support based on the assumption that nobody
needs this functionality.

Fixes: 42a20f86dc19 ("sched: Add wrapper for get_wchan() to keep task blocked")
Cc: stable@vger.kernel.org # v5.16+
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-08-04 13:36:28 -07:00
..
2024-07-19 12:39:34 -07:00
2024-07-27 10:53:06 -07:00
2024-07-18 09:34:02 -07:00
2024-07-19 11:57:55 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-18 17:17:30 -07:00
2024-07-25 10:42:22 -07:00
2024-07-22 11:32:05 -07:00
2024-07-22 11:32:05 -07:00
2024-07-16 16:42:37 -07:00
2024-08-02 09:33:35 -07:00
2024-07-26 09:50:36 -07:00
2024-07-15 11:39:44 -07:00
2024-07-15 14:20:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-19 09:59:58 -07:00
2024-07-16 14:50:44 -07:00
2024-07-25 10:42:22 -07:00
2024-07-31 09:57:18 -07:00
2024-07-23 11:43:40 -07:00
2024-07-26 08:06:15 -06:00
2024-07-19 12:39:34 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 13:18:41 -07:00
2024-07-20 12:41:03 -07:00
2024-07-18 12:19:20 -07:00
2024-07-29 12:53:37 -07:00