Tejun Heo
ff9eda4ea9
sched_ext: Skip past-sched_ext_dead() tasks in scx_task_iter_next_locked()
...
scx_task_iter's cgroup-scoped mode can return tasks whose
sched_ext_dead() has already completed: cgroup_task_dead() removes
from cset->tasks after sched_ext_dead() in finish_task_switch() and is
irq-work deferred on PREEMPT_RT. The global mode is fine -
sched_ext_dead() removes from scx_tasks via list_del_init() first.
Callers (sub-sched enable prep/abort/apply, scx_sub_disable(),
scx_fail_parent()) assume returned tasks are still on @sch and trip
WARN_ON_ONCE() or operate on torn-down state otherwise.
Set %SCX_TASK_OFF_TASKS in sched_ext_dead() under @p's rq lock and
have scx_task_iter_next_locked() skip flagged tasks under the same
lock. Setter and reader serialize on the per-task rq lock - no race.
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
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
2026-02-27 16:40:13 +01:00
2026-02-21 17:09:51 -08: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