Commit Graph

2197 Commits

Author SHA1 Message Date
Emil Tsalapatis
4eb81403ca use a single level for the tree for now 2024-11-18 11:36:40 -08:00
Emil Tsalapatis
9d202db786 use one byte per entry 2024-11-18 11:29:59 -08:00
Emil Tsalapatis
36a512c864 [HACK] turn off locking 2024-11-18 11:24:56 -08:00
Emil Tsalapatis
f2dbeba2b5 properly mark sdt_task_exit as non-sleepable 2024-11-18 07:22:57 -08:00
Emil Tsalapatis
24997a3a03 fixing verifier errors along the tree allocation path 2024-11-18 07:21:52 -08:00
Emil Tsalapatis
b3e9b11792 verification for SDT passing 2024-11-15 12:44:50 -08:00
Emil Tsalapatis
9e7a2393f0 do not put the scheduler-local core structs in the __arena_global section 2024-11-15 10:42:19 -08:00
Emil Tsalapatis
e05a7e5989 more aggressively use selftest examples in our own code 2024-11-15 10:38:01 -08:00
Emil Tsalapatis
633c7658c4 get bpf_arena_common.h back compiling with Clang-friendly attribute definition 2024-11-15 10:17:42 -08:00
Emil Tsalapatis
d0e8b63239 import 6.12.0-rc5 BPF headers from selftests 2024-11-15 10:16:27 -08:00
Emil Tsalapatis
94b89ca51b [WIP] build hackery 2024-11-15 10:14:59 -08:00
Emil Tsalapatis
def8489029 turn off enough code paths to get SDT loading 2024-11-08 13:25:29 -08:00
Emil Tsalapatis
692cf44579 use Clang-style attribute for userspace weak symbol 2024-11-08 12:46:58 -08:00
Emil Tsalapatis
5bfe446a0b [WIP] remove __builtin_memset from arena-backed allocator 2024-11-08 12:31:53 -08:00
Emil Tsalapatis
14095789ae add all ctags files to .gitignore 2024-11-08 12:30:58 -08:00
Emil Tsalapatis
88d5a550f5 import more recent bpf_arena_*.h headers for good measure 2024-11-08 11:58:12 -08:00
Emil Tsalapatis
c7e40e01d8 Merge branch 'main' into etsal/bpf-arena-rusty 2024-11-08 11:21:20 -08:00
Emil Tsalapatis
1645e51034 Merge branch 'htejun/task-stor' 2024-11-08 11:11:50 -08:00
Changwoo Min
5280206fed
Merge pull request #915 from LohithCV/lavd_doc_err
scx_lavd: docs: fix typos
2024-11-08 20:41:40 +09:00
Lohith C V
a2e119ae23 scx_lavd: docs: fix typos 2024-11-08 16:25:55 +05:30
Daniel Hodges
007fed04c8
Merge pull request #913 from hodgesds/layered-fallback-dump
scx_layered: Add fallback costs to dump
2024-11-08 01:06:14 +00:00
Daniel Hodges
3b47782bf4 scx_layered: Add fallback costs to dump
Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 19:49:09 -05:00
Daniel Hodges
73926d6481
Merge pull request #912 from hodgesds/layered-mask-cleanup
scx_layered: Cleanup cpumask
2024-11-07 22:52:28 +00:00
5ae1b84533
Merge pull request #908 from JakeHillion/pr908
layered/topo: lift layer specific checks out of per-LLC loop
2024-11-07 21:48:20 +00:00
Daniel Hodges
ee4fd3dace scx_layered: Cleanup cpumask
Cleanup remaining cpumasks to use `cast_mask`.

Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 13:18:10 -08:00
Daniel Hodges
9a282e001f
Merge pull request #911 from hodgesds/layered-idle-smt-cleanup
scx_layered: Use layer idle_smt option
2024-11-07 21:12:24 +00:00
Daniel Hodges
637fc3f6e1 scx_layered: Use layer idle_smt option
When selecting the idle CPU use the idle_smt option on the layer. This
may improve cache locality in some cases by placing tasks on CPUs that
are on closer cache lines.

Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 13:05:19 -08:00
Tejun Heo
f71a9d0d38
Merge pull request #910 from hodgesds/layered-cost-verifier-fix
scx_layered: Fix verifier issue on older kernels
2024-11-07 20:34:37 +00:00
Daniel Hodges
7db2ef22d0 scx_layered: Fix verifier issue on older kernels
On some older kernels layered fails to validate. Prevent certain helpers
from being inlined to pass the verifier.

Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 12:20:58 -08:00
Jake Hillion
ba54808150 layered/topo: lift layer specific checks out of per-LLC loop
The loops in topology aware mode were recently refactored to place the -per-LLC
loops inside the per-layer loops. However, the layer specific checks were left
in the inner loops, slowing this down unnecessarily.

Pull the layer specific checks from the inner loop into the outer loop.

Also changes these functions to `__weak` to ensure they don't get inlined -
they're expected to be verified as global functions.

Note to reviewers: this looks good to me, but I'd appreciate if you reviewed
the De Morgan applications in detail.

Test plan:
- `cargo build --release && sudo target/release/scx_layered --run-example` on a
  machine with multiple LLCs. It's possible to stall it quite easily with
  stress-ng but I believe this is the case on main.
2024-11-07 18:34:44 +00:00
Andrea Righi
218cbeac1e
Merge pull request #907 from sched-ext/scx-loader-update-bpfland-options
scx_loader: tune scx_bpfland default options
2024-11-07 18:04:13 +00:00
Andrea Righi
191cc7fe8b scx_loader: tune scx_bpfland default options
With the recent rework of scx_bpfland the default options for the
different profiles in scx_loader are not valid anymore.

Update them with some appropriate options.

Signed-off-by: Andrea Righi <arighi@nvidia.com>
2024-11-07 17:54:13 +01:00
Changwoo Min
416de68b72
Merge pull request #904 from multics69/lavd-drop-padding
scx_lavd: drop padding in cpdom_cpumask, which was a workaround
2024-11-07 16:13:07 +00:00
Changwoo Min
56357a79db
Merge pull request #903 from multics69/lavd-issue-897
scx_lavd: update cur_logical_clk atomically
2024-11-07 16:12:56 +00:00
Daniel Hodges
d7e1f697e0
Merge pull request #906 from hodgesds/layered-verifier-fix
scx_layered: Fix verifier issue when tracing
2024-11-07 14:51:15 +00:00
Daniel Hodges
3cc849f234 scx_layered: Fix verifier issue when tracing
Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 06:43:40 -08:00
Daniel Hodges
d6ba3b79d7
Merge pull request #896 from hodgesds/layered-dsq-cost
scx_layered: Add fallback DSQ cost accounting
2024-11-07 13:35:04 +00:00
Daniel Hodges
487baa4a03 scx_layered: Add fallback DSQ cost accounting
Add fallback DSQ cost accounting so that fallback DSQ costs are
accounted for and so that dispatch of fallback DSQs can be done in a
standardized way.

Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
2024-11-07 05:25:57 -08:00
likewhatevs
debe991b26
Merge pull request #905 from likewhatevs/kconfig-cache-update
add CONFIG_IKCONFIG to ci Kconfig and bump cache ver
2024-11-07 08:35:27 +00:00
Pat Somaru
27a506f5f7
add CONFIG_IKCONFIG to ci Kconfig and bump cache ver 2024-11-07 03:13:21 -05:00
Changwoo Min
22cb9e9ce1 scx_lavd: drop padding in cpdom_cpumask, which was a workaround
The verifier error seems to stem from the wrong vmlinux.h.
Also, PR #889 seems to completely fix the problem.
So, drop the workaround.

Signed-off-by: Changwoo Min <changwoo@igalia.com>
2024-11-07 16:13:06 +09:00
Changwoo Min
e9ba2d53fa scx_lavd: update cur_logical_clk atomically
Previously, the cur_logical_clk is updated with WIRTE_ONCE(),
which does not guarantee the atomicity when concurrent writes happen
-- which is possible. So change it using CAS (compare-and-swap).

Signed-off-by: Changwoo Min <changwoo@igalia.com>
2024-11-07 16:01:50 +09:00
likewhatevs
d0111b3af9
Merge pull request #900 from likewhatevs/enable-iconfig-proc
add CONFIG_IKCONFIG_PROC to ci kconfig
2024-11-07 06:39:08 +00:00
Emil Tsalapatis
b962ea8c35
Merge pull request #894 from etsal/core_enums
introduce CO:RE enum readers and use them for scx_central
2024-11-07 02:17:45 +00:00
Emil Tsalapatis
5e35a12ce3 remove stray print 2024-11-06 18:02:08 -08:00
Emil Tsalapatis
7d44511422 fix missing/extraneous newline 2024-11-06 12:52:10 -08:00
Emil Tsalapatis
42880404e1 Merge branch 'main' of https://github.com/sched-ext/scx into core_enums 2024-11-06 12:44:23 -08:00
Emil Tsalapatis
de5f2f9c8d regenerate autogen Rust file 2024-11-06 12:21:16 -08:00
Emil Tsalapatis
f088540647 fix linting error in autogenerated code 2024-11-06 12:20:11 -08:00
Emil Tsalapatis
2f174db96f use the enum singleton in the userspace scheduler components 2024-11-06 12:17:16 -08:00