Yicong Yang
52d15521eb
sched/deadline: Don't count nr_running for dl_server proxy tasks
...
On CPU offline the kernel stalled with below call trace:
INFO: task kworker/0:1:11 blocked for more than 120 seconds.
cpuhp hold the cpu hotplug lock endless and stalled vmstat_shepherd.
This is because we count nr_running twice on cpuhp enqueuing and failed
the wait condition of cpuhp:
enqueue_task_fair() // pick cpuhp from idle, rq->nr_running = 0
dl_server_start()
[...]
add_nr_running() // rq->nr_running = 1
add_nr_running() // rq->nr_running = 2
[switch to cpuhp, waiting on balance_hotplug_wait()]
rcuwait_wait_event(rq->nr_running == 1 && ...) // failed, rq->nr_running=2
schedule() // wait again
It doesn't make sense to count the dl_server towards runnable tasks,
since it runs other tasks.
Fixes: 63ba8422f8 ("sched/deadline: Introduce deadline servers")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com >
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Link: https://lore.kernel.org/r/20250627035420.37712-1-yangyicong@huawei.com
2025-08-26 10:46:01 +02:00
..
2025-08-02 09:04:57 -07:00
2025-08-09 08:46:32 -10:00
2025-07-21 21:41:57 -07:00
2025-04-02 18:17:33 -07:00
2025-06-12 08:38:40 +02:00
2025-07-30 17:14:01 -07:00
2025-08-15 13:12:56 +02:00
2025-08-11 17:53:21 +02:00
2025-04-30 21:53:35 +02:00
2025-08-06 10:29:48 +02:00
2025-07-23 08:51:32 +02:00
2025-05-14 13:16:24 +02:00
2025-08-17 05:57:47 -07:00
2025-08-05 16:02:07 +03:00
2025-07-30 19:26:49 -07:00
2025-08-04 10:54:36 -07:00
2025-08-11 08:43:49 +05:30
2025-08-26 10:46:01 +02:00
2025-07-31 16:52:32 -07:00
2025-08-23 10:11:34 -04:00
2025-07-31 10:20:11 -04:00
2025-06-24 20:30:37 +09:00
2025-02-12 12:24:16 +01:00
2025-06-23 14:01:49 -04:00
2025-04-15 11:32:34 +02:00
2025-04-11 14:14:41 -04:00
2025-06-16 17:00:06 -04:00
2024-12-05 19:22:38 -05:00
2025-06-16 17:00:06 -04:00
2024-06-24 22:24:55 -07:00
2024-04-29 08:29:29 -07:00
2025-03-07 22:03:09 -06:00
2025-07-31 18:23:53 -07:00
2025-03-04 18:44:29 -08:00
2025-08-06 22:48:12 +02:00
2025-07-19 19:08:23 -07:00
2025-05-21 10:48:21 -07:00
2025-07-19 19:08:23 -07:00
2024-12-02 11:25:09 +01:00
2025-05-27 19:40:33 -07:00
2024-02-23 17:48:22 -08:00
2025-08-03 16:23:09 -07:00
2025-08-10 08:11:39 +03:00
2025-07-17 07:56:50 -10:00
2025-08-06 10:23:36 +09:00
2025-07-19 19:08:26 -07:00
2025-02-21 15:05:38 +01:00
2025-01-13 22:40:36 -08:00
2025-03-10 11:54:46 +01:00
2024-07-20 16:33:21 +09:00
2025-01-02 22:12:12 +01:00
2025-07-16 18:34:42 -07:00
2025-02-21 10:25:33 +01:00
2025-02-21 09:20:30 +01:00
2025-08-19 16:35:53 -07:00
2024-11-07 15:25:05 +01:00
2025-07-09 22:57:52 -07:00
2025-08-03 16:23:09 -07:00
2025-03-16 22:30:47 -07:00
2025-08-03 16:23:09 -07:00
2025-08-19 16:35:53 -07:00
2025-08-02 12:01:38 -07:00
2025-08-02 12:01:38 -07:00
2024-12-24 09:46:49 +01:00
2025-07-15 18:45:34 +09:00
2025-07-21 21:40:39 -07:00
2025-01-07 16:59:15 +01:00
2025-08-13 08:34:33 +02:00
2025-01-28 13:48:37 +01:00
2025-08-06 07:32:52 +03:00
2024-11-05 17:12:31 -08:00
2025-05-09 13:13:54 +02:00
2025-06-13 17:26:17 +08:00
2025-08-03 16:23:09 -07:00
2025-08-16 21:47:25 +02:00
2025-03-06 10:18:36 +01:00
2025-01-28 13:48:37 +01:00
2025-07-29 21:43:08 -07:00
2024-08-04 13:36:28 -07:00
2025-05-11 17:48:15 -07:00
2025-04-01 10:06:52 -07:00
2024-04-25 21:07:03 -07:00
2025-07-09 22:57:52 -07:00
2024-10-09 12:47:19 -07:00
2025-07-24 17:57:59 -07:00
2025-03-06 22:26:49 +01:00
2024-11-14 16:09:51 -08:00
2025-02-24 11:17:10 -08:00
2025-08-19 13:51:28 +02:00
2025-08-02 14:24:50 +02:00
2025-06-13 08:47:20 +02:00
2025-03-25 10:46:44 +01:00
2025-03-30 15:44:36 -07:00
2025-07-01 15:02:03 +02:00
2024-07-18 12:19:20 -07:00
2025-07-31 14:57:54 -07:00
2025-04-14 14:13:41 +02:00
2025-07-23 11:56:02 +02:00
2025-01-13 22:40:36 -08:00
2024-11-03 01:28:06 -05:00
2025-02-05 07:14:24 -08:00
2025-03-21 15:30:10 -04:00
2024-07-12 16:39:53 -07:00
2025-08-02 12:01:38 -07:00
2025-01-28 13:48:37 +01:00
2025-02-12 12:12:27 +01:00
2024-09-12 12:16:09 +02:00
2025-01-28 13:48:37 +01:00
2025-08-01 09:11:08 -04:00
2025-05-11 17:54:04 -07:00
2025-03-24 09:52:37 -07:00
2025-07-31 11:28:03 -04:00
2025-07-04 13:17:30 +01:00
2025-05-21 10:48:22 -07:00
2025-07-31 15:40:22 -07:00