Tejun Heo
60f21a2649
cgroup, sched_ext: Include exiting tasks in cgroup iter
...
a72f73c4dd ("cgroup: Don't expose dead tasks in cgroup") made
css_task_iter_advance() skip exiting tasks so cgroup.procs stays consistent
with waitpid() visibility. Unfortunately, this broke scx_task_iter.
scx_task_iter walks either scx_tasks (global) or a cgroup subtree via
css_task_iter() and the two modes are expected to cover the same set of
tasks. After the above change the cgroup-scoped mode silently skips tasks
past exit_signals() that are still on scx_tasks.
scx_sub_enable_workfn()'s abort path is one of the symptoms: an exiting
SCX_TASK_SUB_INIT task can race past the cgroup iter leaking
__scx_init_task() state. Other iterations share the same gap.
Add CSS_TASK_ITER_WITH_DEAD to opt out of the skip and use it from
scx_task_iter().
Fixes: b0e4c2f8a0 ("sched_ext: Implement cgroup subtree iteration for scx_task_iter")
Reported-by: Cheng-Yang Chou <yphbchou0911@gmail.com >
Signed-off-by: Tejun Heo <tj@kernel.org >
2026-05-04 09:06:03 -10:00
..
2026-04-15 12:59:16 -07:00
2026-05-04 09:06:03 -10:00
2026-02-23 11:18:48 -08:00
2026-02-21 01:02:28 -08:00
2026-03-30 09:41:18 +02:00
2026-04-14 16:48:56 -07:00
2026-04-15 12:59:16 -07:00
2026-04-14 12:36:25 -07:00
2026-02-21 20:03:00 -08:00
2026-04-02 23:03:29 +02:00
2026-02-26 09:54:08 -08:00
2026-02-21 17:09:51 -08:00
2026-04-15 12:59:16 -07:00
2026-04-14 13:33:36 -07:00
2026-04-04 00:04:48 +00:00
2026-04-10 12:37:27 +02:00
2026-02-21 17:09:51 -08:00
2026-04-13 09:36:45 -07:00
2026-05-04 09:06:03 -10:00
2026-04-15 12:59:16 -07:00
2026-04-15 17:15:18 -07:00
2026-02-21 20:03:00 -08:00
2025-06-24 20:30:37 +09:00
2026-04-13 14:20:11 -07:00
2026-02-21 17:09:51 -08:00
2026-03-06 14:31:26 +01:00
2026-02-21 17:09:51 -08:00
2026-03-06 14:31:26 +01:00
2026-03-10 15:22:43 -04:00
2026-03-06 14:31:26 +01:00
2026-03-05 22:16:08 -05:00
2026-03-06 14:31:26 +01:00
2025-12-03 16:53:19 +01:00
2025-07-31 18:23:53 -07:00
2026-01-01 16:39:46 +08:00
2025-11-14 10:01:52 +01:00
2026-02-17 09:46:03 -08:00
2025-09-13 17:32:55 -07:00
2026-02-21 17:09:51 -08:00
2026-03-10 16:01:48 -07:00
2025-11-12 10:00:15 -08:00
2026-01-06 20:52:57 -05:00
2026-02-08 00:13:32 -08:00
2026-03-20 14:44:25 +01:00
2026-02-21 17:09:51 -08:00
2026-04-15 10:54:24 -07:00
2025-10-30 20:10:27 +01:00
2025-08-06 10:23:36 +09:00
2026-02-21 01:02:28 -08:00
2025-11-20 14:03:43 -08:00
2026-03-16 13:16:48 +01:00
2026-01-22 15:58:22 -07:00
2026-02-21 17:09:51 -08:00
2026-02-12 12:13:01 -08:00
2025-11-27 14:24:33 -08:00
2026-01-08 12:43:57 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-31 16:16:07 -08:00
2025-08-02 12:01:38 -07:00
2026-02-21 17:09:51 -08:00
2026-03-13 23:15:26 +09:00
2025-11-27 15:44:53 +01:00
2026-04-03 19:39:52 +02:00
2026-02-26 10:45:49 +01:00
2026-01-05 16:43:34 +01:00
2026-03-24 21:42:37 +00:00
2026-02-27 22:00:08 +01:00
2026-04-14 19:59:25 -07:00
2026-02-27 22:00:11 +01:00
2026-03-22 11:17:59 +09:00
2026-02-03 08:21:26 -08:00
2026-03-18 21:43:18 +00:00
2026-03-20 14:44:26 +01:00
2026-03-20 14:44:26 +01:00
2026-03-11 23:14:02 +01:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-27 10:19:08 -05:00
2026-02-23 11:19:19 +01:00
2026-02-21 17:09:51 -08:00
2025-11-12 10:00:13 -08:00
2026-02-21 17:09:51 -08:00
2026-04-14 20:28:40 -07:00
2026-03-26 17:31:35 +01:00
2025-06-13 08:47:20 +02:00
2026-02-27 16:40:13 +01:00
2026-02-21 17:09:51 -08:00
2025-07-01 15:02:03 +02:00
2026-01-22 11:11:17 +01:00
2026-04-04 18:40:58 -06:00
2026-03-26 09:32:19 +01:00
2025-10-29 10:29:54 +01:00
2026-03-30 15:48:14 -04:00
2026-02-21 17:09:51 -08:00
2026-01-26 19:07:13 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-22 08:26:33 -08:00
2025-11-11 10:01:32 +01:00
2025-09-29 11:20:29 -07:00
2026-02-21 17:09:51 -08:00
2026-04-05 13:53:08 -07:00
2026-02-21 17:09:51 -08:00
2025-07-31 11:28:03 -04:00
2026-02-08 00:13:35 -08:00
2026-02-08 00:13:34 -08:00
2026-03-05 07:27:48 -10:00
2026-04-15 10:32:08 -07:00