Tejun Heo
30b0515342
sched_ext: Add per-CPU data to DSQs
...
Add per-CPU data structure to dispatch queues. Each DSQ now has a percpu
scx_dsq_pcpu which contains a back-pointer to the DSQ. This will be used by
future changes to implement per-CPU reenqueue tracking for user DSQs.
init_dsq() now allocates the percpu data and can fail, so it returns an
error code. All callers are updated to handle failures. exit_dsq() is added
to free the percpu data and is called from all DSQ cleanup paths.
In scx_bpf_create_dsq(), init_dsq() is called before rcu_read_lock() since
alloc_percpu() requires GFP_KERNEL context, and dsq->sched is set
afterwards.
v2: Fix err_free_pcpu to only exit_dsq() initialized bypass DSQs (Andrea
Righi).
Signed-off-by: Tejun Heo <tj@kernel.org >
Reviewed-by: Andrea Righi <arighi@nvidia.com >
2026-03-07 05:29:50 -10:00
..
2026-02-27 16:11:50 -08:00
2026-03-05 18:15:58 -10:00
2026-02-23 11:18:48 -08:00
2026-02-21 01:02:28 -08:00
2026-02-23 08:26:54 +01:00
2026-01-30 15:40:05 +01:00
2026-02-25 15:02:34 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 09:54:08 -08:00
2026-02-21 17:09:51 -08:00
2026-02-24 11:13:26 -08:00
2026-02-22 08:26:33 -08:00
2026-02-23 19:37:28 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-07 05:29:50 -10:00
2026-03-04 08:21:11 -08:00
2026-03-03 22:25:32 -05:00
2026-02-21 20:03:00 -08:00
2025-06-24 20:30:37 +09:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2025-10-22 19:28:06 -04:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08: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-02-21 17:09:51 -08: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-02-26 10:45:49 +01:00
2026-02-21 17:09:51 -08:00
2026-03-06 07:58:02 -10: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-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-02-21 17:09:51 -08:00
2025-11-27 15:44:53 +01:00
2025-11-27 14:24:42 -08:00
2026-02-26 10:45:49 +01:00
2026-01-05 16:43:34 +01:00
2026-02-27 22:00:08 +01:00
2025-11-14 13:10:38 +01:00
2026-02-27 22:00:11 +01:00
2026-02-21 20:03:00 -08:00
2026-02-03 08:21:26 -08:00
2026-02-21 20:03:00 -08:00
2025-11-11 10:01:32 +01:00
2026-02-10 11:39:30 +01:00
2025-11-04 08:30:50 +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-02-21 17:09:51 -08: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-01-05 16:43:33 +01:00
2025-11-19 18:06:50 +01:00
2025-06-13 08:47:20 +02:00
2025-09-17 16:25:41 +02: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-02-12 19:17:44 -08:00
2026-01-06 11:27:10 +01:00
2025-10-29 10:29:54 +01:00
2026-02-21 17:09:51 -08: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-02-12 12:13:01 -08: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-02-21 17:09:51 -08:00