Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.9.1-scx1 #26

Merged
merged 753 commits into from
May 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
753 commits
Select commit Hold shift + click to select a range
c2a0257
bpftool: Cast pointers for shadow types explicitly.
ThinkerYzu1 Mar 12, 2024
fe879bb
bpftool: Fix missing pids during link show
Mar 12, 2024
9bf48fa
libbpf: Prevent null-pointer dereference when prog to load has no BTF
qmonnet Mar 14, 2024
c911fc6
libbpf: Skip zeroed or null fields if not found in the kernel type.
ThinkerYzu1 Mar 13, 2024
26a7cf2
selftests/bpf: Ensure libbpf skip all-zeros fields of struct_ops maps.
ThinkerYzu1 Mar 13, 2024
6cda7e1
Merge branch 'ignore-additional-fields-in-the-struct_ops-maps-in-an-u…
anakryiko Mar 14, 2024
7b1e063
scx: Update selftests to use new UEI macros
Byte-Lab Mar 14, 2024
873e7a4
scx: Add newline after test error output
Byte-Lab Mar 14, 2024
bbb65a3
Merge pull request #163 from sched-ext/fix_selftests
htejun Mar 14, 2024
4d8926a
bpf: preserve sleepable bit in subprog info
anakryiko Mar 14, 2024
7d2cc63
bpf: Take return from set_memory_ro() into account with bpf_prog_lock…
chleroy Mar 8, 2024
e60adf5
bpf: Take return from set_memory_rox() into account with bpf_jit_bina…
chleroy Mar 8, 2024
19c5c04
net: stmmac: dwmac-rk: Remove unused of_gpio.h
andy-shev Mar 13, 2024
4c8644f
selftests/bpf: Remove second semicolon
ColinIanKing Mar 15, 2024
237bb5f
cxgb4: unnecessary check for 0 in the free_sge_txq_uld() function
Mar 13, 2024
7f3edd0
bpf: Remove unnecessary err < 0 check in bpf_struct_ops_map_update_elem
Mar 15, 2024
7b30c29
libbpbpf: Check bpf_map/bpf_program fd validity
mykyta5 Mar 18, 2024
e3362ac
bpf: Remove arch_unprotect_bpf_trampoline()
chleroy Mar 16, 2024
c733239
bpf: Check return from set_memory_rox()
chleroy Mar 16, 2024
6d5da8c
scx: Improve error behavior when p->scx.cgrp_moving_from is unexpecte…
htejun Mar 19, 2024
d439866
scx: Fix ops.cgroup_move() not being called on a task which went thro…
htejun Mar 19, 2024
1a4a0cb
bpf/lpm_trie: Inline longest_prefix_match for fastpath
netoptimizer Mar 18, 2024
fc86083
Merge pull request #165 from sched-ext/htejun
htejun Mar 19, 2024
eb166e5
bpf: Allow helper bpf_get_[ns_]current_pid_tgid() for all prog types
Mar 15, 2024
84239a2
selftests/bpf: Replace CHECK with ASSERT_* in ns_current_pid_tgid test
Mar 15, 2024
4d4bd29
selftests/bpf: Refactor out some functions in ns_current_pid_tgid test
Mar 15, 2024
87ade6c
selftests/bpf: Add a cgroup prog bpf_get_ns_current_pid_tgid() test
Mar 15, 2024
4c195ee
selftests/bpf: Add a sk_msg prog bpf_get_ns_current_pid_tgid() test
Mar 15, 2024
437ffcb
Merge branch 'current_pid_tgid-for-all-prog-types'
anakryiko Mar 19, 2024
f803bcf
selftests/bpf: Prevent client connect before server bind in test_tc_t…
alessandrocarminati Mar 14, 2024
6b9c295
bpf: flatten bpf_probe_register call chain
anakryiko Mar 19, 2024
d4dfc57
bpf: pass whole link instead of prog when triggering raw tracepoint
anakryiko Mar 19, 2024
68ca5d4
bpf: support BPF cookie in raw tracepoint (raw_tp, tp_btf) programs
anakryiko Mar 19, 2024
36ffb20
libbpf: add support for BPF cookie for raw_tp/tp_btf programs
anakryiko Mar 19, 2024
51146ff
selftests/bpf: add raw_tp/tp_btf BPF cookie subtests
anakryiko Mar 19, 2024
2e244a7
Merge branch 'bpf-raw-tracepoint-support-for-bpf-cookie'
Mar 20, 2024
be24a89
bpftool: Enable libbpf logs when loading pid_iter in debug mode
qmonnet Mar 20, 2024
e9a826d
bpftool: Remove unnecessary source files from bootstrap version
qmonnet Mar 20, 2024
520fad2
selftests/bpf: scale benchmark counting by using per-CPU counters
anakryiko Mar 15, 2024
cc9b22d
bpftool: Clean up HOST_CFLAGS, HOST_LDFLAGS for bootstrap bpftool
qmonnet Mar 20, 2024
4c2a26f
bpf-next: Avoid goto in regs_refine_cond_op()
harishankarv Mar 21, 2024
537c2e9
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
kuba-moo Mar 21, 2024
1684d6e
selftests/bpf: Use syscall(SYS_gettid) instead of gettid() wrapper in…
alan-maguire Mar 22, 2024
af8d27b
selftests/bpf: Mark uprobe trigger functions with nocf_check attribute
olsajiri Mar 22, 2024
61df575
libbpf: Add new sec_def "sk_skb/verdict"
Mar 19, 2024
476a5e9
bpf: Sync uapi bpf.h to tools directory
Mar 25, 2024
c29083f
selftests/bpf: Use start_server in bpf_tcp_ca
Mar 25, 2024
a849750
bpf: Avoid get_kernel_nofault() to fetch kprobe entry IP
anakryiko Mar 19, 2024
770546a
bpf: implement insn_is_cast_user() helper for JITs
puranjaymohan Mar 24, 2024
14bb1e8
selftests/bpf: Fix flaky test btf_map_in_map/lookup_update
Mar 22, 2024
75925fa
dns_resolver: correct module name in dns resolver documentation
bharathsm-ms Mar 24, 2024
b3af904
trace: move to TP_STORE_ADDRS related macro to net_probe_common.h
JasonXing Mar 25, 2024
a24c855
trace: use TP_STORE_ADDRS() macro in inet_sk_error_report()
JasonXing Mar 25, 2024
646700c
trace: use TP_STORE_ADDRS() macro in inet_sock_set_state()
JasonXing Mar 25, 2024
26f44b7
Merge branch 'trace-use-tp_store_addrs-macro'
Mar 26, 2024
56364c9
net: Remove conditional threaded-NAPI wakeup based on task state.
Mar 25, 2024
dad6b97
net: Allow to use SMP threads for backlog NAPI.
Mar 25, 2024
80d2eef
net: Use backlog-NAPI to clean up the defer_list.
Mar 25, 2024
765b11f
net: Rename rps_lock to backlog_lock.
Mar 25, 2024
1a3e4d6
Merge branch 'net-provide-smp-threads-for-backlog-napi'
Mar 26, 2024
6e06312
net: remove skb_free_datagram_locked()
Mar 25, 2024
341ee1a
net: pin system percpu page_pools to the corresponding NUMA nodes
alobakin Mar 25, 2024
ee36b1e
net: amd8111e: Drop unused copy of pm_cap
bjorn-helgaas Mar 25, 2024
2a702c2
Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel…
kuba-moo Mar 27, 2024
82aa233
Merge commit 'fc86083986063457029fe1039bbf1632d2fdca2b' into scx-6.9-rc1
Byte-Lab Mar 28, 2024
f95ba24
scx: Fix init_enable_count
Byte-Lab Mar 25, 2024
4706b5a
v6.9-rc1-scx1
Byte-Lab Mar 28, 2024
dd11fee
Merge pull request #20 from sched-ext/scx-6.9-rc1
htejun Mar 28, 2024
83e31d6
scx: Update conditions for WAKE_SYNC migration
Byte-Lab Mar 28, 2024
2fc287e
Merge pull request #167 from sched-ext/select_dfl_wake_sync
Byte-Lab Mar 28, 2024
79f18e5
scx_flatcg: Keep cgroup rb nodes stashed
davemarchevsky Dec 14, 2023
11ed27f
scx: Allow clean exits from the scheduler with scx_bpf_exit()
Byte-Lab Mar 14, 2024
e831248
scx: Add scx_bpf_exit() macro to scx/common.bpf.h
Byte-Lab Mar 14, 2024
a0b24e0
scx: Fix init_enable_count
Byte-Lab Mar 25, 2024
14162f7
scx: Add selftests for scx_bpf_exit()
Byte-Lab Mar 27, 2024
27688fa
Merge pull request #166 from sched-ext/clean_exit_bpf
Byte-Lab Mar 28, 2024
e227931
Merge pull request #168 from sched-ext/sync-from-scx
htejun Mar 28, 2024
5e47fbe
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
kuba-moo Mar 29, 2024
fa61e9a
selftests: net: libs: Change variable fallback syntax
pmachata Mar 26, 2024
fd36fd2
selftests: forwarding.config.sample: Move overrides to lib.sh
pmachata Mar 26, 2024
0cb8628
selftests: forwarding: README: Document customization
pmachata Mar 26, 2024
0faa565
selftests: forwarding: ipip_lib: Do not import lib.sh
pmachata Mar 26, 2024
40d269c
selftests: forwarding: Move several selftests
pmachata Mar 26, 2024
0c499a3
selftests: forwarding: Ditch skip_on_veth()
pmachata Mar 26, 2024
677f394
selftests: forwarding: Change inappropriate log_test_skip() calls
pmachata Mar 26, 2024
51ccf26
selftests: lib: Define more kselftest exit codes
pmachata Mar 26, 2024
596c881
selftests: forwarding: Have RET track kselftest framework constants
pmachata Mar 26, 2024
a923af1
selftests: forwarding: Convert log_test() to recognize RET values
pmachata Mar 26, 2024
e16a8d2
selftests: forwarding: Support for performance sensitive tests
pmachata Mar 26, 2024
e103910
selftests: forwarding: Mark performance-sensitive tests
pmachata Mar 26, 2024
6db870b
selftests: forwarding: router_mpath_nh_lib: Don't skip, xfail on veth
pmachata Mar 26, 2024
8ff2d7a
selftests: forwarding: Add a test for testing lib.sh functionality
pmachata Mar 26, 2024
51cf49f
Merge branch 'selftests-fixes-for-kernel-ci'
kuba-moo Mar 29, 2024
b334f5e
ynl: support hex display_hint for integer
liuhangbin Mar 27, 2024
782c108
doc/netlink/specs: Add vlan attr in rt_link spec
liuhangbin Mar 27, 2024
fb984d1
Merge branch 'doc-netlink-specs-add-vlan-support'
kuba-moo Mar 29, 2024
a87590c
dt-bindings: net: renesas,etheravb: Add optional MDIO bus node
Mar 25, 2024
2c60c4c
ravb: Add support for an optional MDIO mode
Mar 25, 2024
c602f4c
Merge branch 'ravb-support-describing-the-mdio-bus'
kuba-moo Mar 29, 2024
5311591
bpf: Add support for passing mark with bpf_fib_lookup
aspsk Mar 26, 2024
6efec2c
selftests/bpf: Add BPF_FIB_LOOKUP_MARK tests
aspsk Mar 26, 2024
59b418c
bpf: Add a check for struct bpf_fib_lookup size
aspsk Mar 26, 2024
786bf0e
bpf: improve error message for unsupported helper
mykyta5 Mar 25, 2024
55fc888
bpf,arena: Use helper sizeof_field in struct accessors
haiyuewa Mar 27, 2024
1175f8d
selftests/bpf: rename and clean up userspace-triggered benchmarks
anakryiko Mar 26, 2024
7df4e59
selftests/bpf: add batched, mostly in-kernel BPF triggering benchmarks
anakryiko Mar 26, 2024
208c439
selftests/bpf: remove syscall-driven benchs, keep syscall-count only
anakryiko Mar 26, 2024
b4ccf91
selftests/bpf: lazy-load trigger bench BPF programs
anakryiko Mar 26, 2024
3124591
bpf: add bpf_modify_return_test_tp() kfunc triggering tracepoint
anakryiko Mar 26, 2024
985d068
selftests/bpf: add batched tp/raw_tp/fmodret tests
anakryiko Mar 26, 2024
a461a51
Merge branch 'bench-fast-in-kernel-triggering-benchmarks'
Mar 27, 2024
ee3bad0
bpf: Mitigate latency spikes associated with freeing non-preallocated…
laoar Mar 27, 2024
42e4ebd
bpf: Remove CONFIG_X86 and CONFIG_DYNAMIC_FTRACE guard from the tcp-c…
Mar 22, 2024
5da7fb0
selftests/bpf: Test loading bpf-tcp-cc prog calling the kernel tcp-cc…
Mar 22, 2024
cdfd9cc
selftests/bpf: Replace CHECK with ASSERT macros for ksyms test
Mar 26, 2024
ad2b052
libbpf: Mark libbpf_kallsyms_parse static function
Mar 26, 2024
c56e597
libbpf: Handle <orig_name>.llvm.<hash> symbol properly
Mar 26, 2024
d132064
selftests/bpf: Refactor some functions for kprobe_multi_test
Mar 26, 2024
9475dac
selftests/bpf: Refactor trace helper func load_kallsyms_local()
Mar 26, 2024
d1f0258
selftests/bpf: Add {load,search}_kallsyms_custom_local()
Mar 26, 2024
9edaafa
selftests/bpf: Fix kprobe_multi_bench_attach test failure with LTO ke…
Mar 26, 2024
6302bde
selftests/bpf: Add a kprobe_multi subtest to use addrs instead of syms
Mar 26, 2024
e478cf2
Merge branch 'bpf-fix-a-couple-of-test-failures-with-lto-kernel'
Mar 28, 2024
368ada6
Merge branch 'bpf/for-next' into sync-bpf-next
htejun Mar 29, 2024
fe1f6ad
scx: Build fix after pulling bpf/for-next
htejun Mar 29, 2024
7db6edd
scx: Use the new struct_ops compatibililty mechanism
htejun Mar 29, 2024
5121551
Merge pull request #169 from sched-ext/sync-bpf-next
htejun Mar 29, 2024
e34c7df
Merge pull request #170 from sched-ext/scx-simpler-ops-versioning
htejun Mar 29, 2024
4414973
scx: Reorder scx_ops_flags enums to restore backward compatibility
htejun Apr 2, 2024
5dc9530
scx/compat.h: __COMPAT_read_enum() should use btf__find_by_name()
htejun Apr 2, 2024
d36c66c
Merge pull request #171 from sched-ext/api-update-fallouts
Byte-Lab Apr 2, 2024
3b1871a
scx: Allow calling scx kfuncs from BPF_PROG_TYPE_SYSCALL
Byte-Lab Apr 4, 2024
711d8c1
scx/selftest: Add testcase invoking a kfunc with BPF_PROG_RUN
Byte-Lab Apr 4, 2024
ba16c88
Merge pull request #172 from sched-ext/kfuncs_syscall
htejun Apr 4, 2024
0cd5c16
scx: Add a few missing config options from selftests
Byte-Lab Apr 4, 2024
e138c7c
scx: Update minimal testcase to be completely minimal
Byte-Lab Apr 4, 2024
635e5f8
scx: Use __COMPAT_ENUM_OR_ZERO for reading exit values
Byte-Lab Apr 4, 2024
e74f696
Merge pull request #173 from sched-ext/selftests
htejun Apr 4, 2024
5e32ef4
scx: Cosmetic changes to kfuncs
htejun Apr 5, 2024
779538f
Merge pull request #174 from sched-ext/htejun/misc
htejun Apr 5, 2024
01a08c4
scx: Fix trivial grammatical typo
Byte-Lab Apr 5, 2024
aaf86e5
Merge pull request #175 from sched-ext/typo
htejun Apr 5, 2024
5fe9b9b
scx: Spaces -> tabs in a couple places
Byte-Lab Apr 6, 2024
35d303a
Merge pull request #176 from sched-ext/fix_tabs
htejun Apr 6, 2024
0213f1b
scx: Add scx_ops_exit() macro for exiting from ext.c
Byte-Lab Apr 5, 2024
e41cbfa
scx: Exit a scheduler for unhandled hotplug events
Byte-Lab Apr 5, 2024
e298904
scx: Add more user_exit_info macros for exit code
Byte-Lab Apr 10, 2024
e77fa31
scx: Add selftests for hotplug operations
Byte-Lab Apr 8, 2024
37b3f83
Merge pull request #177 from sched-ext/hotplug_restart
htejun Apr 10, 2024
a0cca0e
scx: Fix allocation of scx_kick_cpus_pnt_seqs[]
htejun Apr 10, 2024
9054b79
scx: Reorder kfunc decls in common.bpf.h
htejun Apr 10, 2024
1226dcc
scx: Make ops_cpu_valid() invoke scx_ops_error() automtically
htejun Apr 10, 2024
653a19e
scx: Move defs of sched_ext_ops and friends to ext.c
htejun Apr 10, 2024
ce08a32
scx: Add scx_bpf_nr_cpu_ids(), scx_bpf_get_possible/online_cpumask() …
htejun Apr 10, 2024
1aee870
Merge pull request #178 from sched-ext/htejun/reorg
htejun Apr 10, 2024
8c5b199
scx: Fix a few typos
Byte-Lab Apr 10, 2024
8584503
scx: Add hotplug sequence number
Byte-Lab Apr 10, 2024
89a0d6f
scx: Add hotplug seq to sched_ext_ops
Byte-Lab Apr 10, 2024
b276ddd
scx: Add new macros to compat.h
Byte-Lab Apr 11, 2024
9fabb99
scx: Add selftests for validating hotplug seq checks
Byte-Lab Apr 10, 2024
71694be
Merge pull request #179 from sched-ext/hotplug_final_pieces
Byte-Lab Apr 11, 2024
16ab1af
scx_qmap: Add struct cpu_ctx
htejun Apr 12, 2024
57e39d9
scx: Uninline scx_notify_sched_tick() and scx_notify_pick_next_task()
htejun Apr 12, 2024
39c9a0b
sched: Factor out update_other_load_avgs() from __update_blocked_othe…
htejun Apr 12, 2024
09f2c40
scx: Should update load avg and util metrics for other classes and me…
htejun Apr 12, 2024
c4e4144
cpufreq_schedutil: Refactor sugov_cpu_is_busy()
htejun Apr 12, 2024
1d88435
scx: Implement sched_ext_ops.tick()
htejun Apr 12, 2024
2c2b2e3
scx: Implement scx_bpf_cpuperf_cap() and scx_bpf_cpuperf_cur()
htejun Apr 12, 2024
fbc1f9a
scx: Implement scx_bpf_cpuperf_set()
htejun Apr 12, 2024
41442f4
Merge pull request #180 from sched-ext/htejun/cpufreq
htejun Apr 12, 2024
0511de1
scx: Mark sched_ext uclamp enabled
htejun Apr 12, 2024
283928c
Merge pull request #181 from sched-ext/htejun/cpufreq
Byte-Lab Apr 12, 2024
7e9525c
Merge tag 'v6.9-rc3' into scx-6.9-rc3
Byte-Lab Apr 12, 2024
a267290
Merge commit '283928c86d6d4a99488112988452da2e05ef1a02' into scx-6.9-rc3
Byte-Lab Apr 12, 2024
ad9d5d2
v6.9-rc3-scx1
Byte-Lab Apr 12, 2024
760de14
Merge pull request #21 from sched-ext/scx-6.9-rc3
htejun Apr 12, 2024
6773845
Merge tag 'v6.9-rc5' into scx-6.9-rc5
Byte-Lab Apr 23, 2024
aef5cba
v6.9-rc5-scx1
Byte-Lab Apr 23, 2024
2a7c915
Merge pull request #22 from sched-ext/scx-6.9-rc5
htejun Apr 23, 2024
ff5b5cc
Merge tag 'v6.9-rc7' into scx-6.9-rc7
Byte-Lab May 8, 2024
ad6c4b1
scx: Fix build when !CONFIG_SCHED_CLASS_EXT
htejun Apr 19, 2024
1e1e73c
scx: Add barrier() to scx_kf_[dis]allow()
htejun Apr 23, 2024
d3d59b4
scx: Add init_scx_entity() and initialize scx->tasks_node too
htejun Apr 23, 2024
3065432
scx: Cosmetic / trivial changes
htejun Apr 23, 2024
efbb192
scx: Make scx_kf_allowed_on_arg_tasks() actually use @mask
htejun Apr 23, 2024
f713c9c
scx: Make scx_bpf_dsq_nr_queued() safe to call from any context
htejun Apr 23, 2024
0b4c6f0
scx: Remove scx_kfunc_set_ops_only
htejun Apr 23, 2024
c18f827
scx: Use WRITE_ONCE/READ_ONCE() on dsq->nr
htejun Apr 23, 2024
0bcf1c6
scx: Rename scx_dispatch_q node field names
htejun Apr 23, 2024
229cad6
scx: Use uncached rbtree for dsq priq
htejun Apr 23, 2024
0e45de5
scx: Always keep tasks on dsq->list
htejun Apr 23, 2024
9ec87d3
scx: Move p->scx.dsq_flags into p->scx.dsq_node
htejun Apr 23, 2024
59ef209
scx: Introduce nldsq_next_task() and nldsq_for_each_task()
htejun Apr 23, 2024
2dd84c0
scx: Implement BPF DSQ iterator
htejun Apr 23, 2024
4b773f3
scx: Refactor consume_dispatch_q()
htejun Apr 23, 2024
c792a3d
scx: Better task_can_run_on_remote_rq()
htejun Apr 23, 2024
e9f4cbc
scx_qmap: Use a user DSQ instead of DSQ_GLOBAL
htejun Apr 23, 2024
53ba8fd
scx: Implement scx_bpf_consume_task()
htejun Apr 23, 2024
516bcaa
scx: Cosmetic changes from patch split
htejun Apr 25, 2024
d73ddab
scx: Don't do debug dump on non-error exits
htejun Apr 26, 2024
2d8eac6
user_exit_info: Fix and clean up ECODE handling and apply to the exam…
htejun Apr 26, 2024
2190a2e
scx/compat.h: Fix inversed struct_has_field test in SCX_OPS_LOAD()
htejun Apr 26, 2024
32e4a18
tools/sched_ext: Add compat helpers for the new features
htejun Apr 26, 2024
c698bc6
scx/compat.h: Add backward compat support for missing ops.tick()
htejun Apr 26, 2024
1b85297
scx: Cosmetic changes
htejun Apr 26, 2024
60f51bf
tools/sched_ext: Drop libbpf_set_strict_mode() calls
htejun Apr 26, 2024
749e547
tools/sched_ext: Add -v option to example schedulers to aid debugging…
htejun Apr 27, 2024
24c2e1f
scx: Check for 0 slice after set_next_task_scx()
htejun Apr 27, 2024
9186ec2
scx: Build fixes for UP and SCX off
htejun Apr 27, 2024
fa8add5
tools/sched_ext: Add __COMPAT_scx_bpf_exit()
htejun Apr 29, 2024
c8e18a8
scx: Download missing CI packages
Byte-Lab Apr 30, 2024
5ef9c27
scx: Refactor binary run logic in scx CI
Byte-Lab Apr 30, 2024
6af174c
scx: Fix selftests
Byte-Lab Apr 30, 2024
432e1e2
scx: Run selftests in scx CI
Byte-Lab Apr 30, 2024
471d9b6
MAINTAINERS: Separate out sched_ext tree
htejun Apr 30, 2024
0a3a02c
MAINTAINERS: Add link to SCX repo
htejun Apr 30, 2024
e3502a7
scx_qmap: monitor_cpuperf() also needs __COMPAT_HAS_CPUMASKS test
htejun May 1, 2024
faa0685
bstr
htejun May 2, 2024
7f87b3f
implement-ops
htejun May 2, 2024
a1df227
ci: enable kvm support in the github workflow
May 3, 2024
7e126c5
[PATCH] SCX: scx_ops_bypass() can't grab a mutex
htejun May 4, 2024
46e926f
scx: Dispatch locally until ops.cpu_online() invoked
Byte-Lab May 3, 2024
99903a1
scx: Use per-cpu vars to CPU lifecycle
Byte-Lab May 6, 2024
c964690
scx: Document semantics for ops during hotplug events
Byte-Lab May 6, 2024
ef81163
scx: Fix exit/error bstr formatting
Byte-Lab May 6, 2024
a76b58e
v6.9-scx1-rc7
Byte-Lab May 8, 2024
b48afd2
Merge pull request #25 from sched-ext/scx-6.9-rc7
Byte-Lab May 8, 2024
08a4def
Merge branch 'scx-6.9rc.y' into scx-6.9.y
Byte-Lab May 22, 2024
a739277
scx/compat.bpf.h: Add __COMPAT_scx_bpf_dump() and fix __COMPAT_scx_bp…
htejun May 9, 2024
c4960f8
scx: Use a global bstr formatting buffer instead of percpu
htejun May 9, 2024
acb6f4a
scx: Package dump related fields into struct scx_dump_data
htejun May 9, 2024
c26062d
scx: Add dump_line()
htejun May 9, 2024
d4515af
scx: Add dump_stack_trace()
htejun May 9, 2024
c515212
scx: Refactor bstr_format() and make dump path use its own buffers
htejun May 9, 2024
8e937a7
scx: Assemble ops dump output into lines before calling dump_line()
htejun May 9, 2024
23f9f81
scx: Implicitly output newline from dump_line()
htejun May 9, 2024
bc9ccb6
scx: Fix short dump buf handling
htejun May 9, 2024
73138e0
scx: Send dump output through a tracepoint too
htejun May 9, 2024
ccedcc9
scx: Trigger debug dump with sysrq-D
htejun May 9, 2024
dc296b6
scx: Include dsq_vtime in dump
htejun May 9, 2024
887da18
scx: Always use rq->scx instead of scx_rq
htejun May 17, 2024
ed29130
scx: Replace scx_cpu_online percpu var with SCX_RQ_ONLINE flag
htejun May 17, 2024
14777e6
scx: Allocate scx_dsp_ctx together with scx_dsp_buf
htejun May 17, 2024
87cac0d
scx/common.bpf.h: Sync from SCX repo
htejun May 17, 2024
eaf1f06
scx: Close a small race window in the enable path which can lead to u…
htejun May 17, 2024
b568619
scx: Sync from the SCx repo
htejun May 18, 2024
f95e17c
scx: Fix typos
vax-r May 21, 2024
a4052cd
scx: Add a selftest for creating and destroying a DSQ
Byte-Lab May 22, 2024
d3da750
scx: Invoke ops.exit_task() for TASK_DEAD tasks on disable path
Byte-Lab May 22, 2024
596bbd3
v6.9.1-scx1
Byte-Lab May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/workflows/run-schedulers
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash
#
# Run sched-ext scheduler for TIMEOUT seconds inside virtme-ng and catch
# potential errors, then unload the scheduler and return the exit status.

# Maximum time for each scheduler run.
TEST_TIMEOUT=30

# Maximum timeout for the guest used for each scheduler run (this is used to
# hard-shutdown the guest in case of system hangs).
GUEST_TIMEOUT=60

# Check if virtme-ng is available.
if [ ! -x `which vng` ]; then
echo "vng not found, please install virtme-ng to enable testing"
exit 1
fi

function runtest() {
local bin="${1}"

if [ -z "${bin}" ]; then
echo "No binary passed to runtest"
exit 1
fi

if ! [ -f "${bin}" ]; then
echo "Binary ${bin} was not a regular file"
exit 1
fi

rm -f /tmp/output
(timeout --foreground --preserve-status ${GUEST_TIMEOUT} \
vng --force-9p --verbose -- \
"timeout --foreground --preserve-status ${TEST_TIMEOUT} ${bin}" \
2>&1 </dev/null || true) | tee /tmp/output
}

# Test all the available schedulers.
#
# NOTE: virtme-ng automatically runs the kernel from the current working
# directory by default.
#
# Each scheduler will be tested in a separate instance booted from scratch, to
# ensure that each run does not impact the others.
#
for sched in $(find tools/sched_ext/build/bin -type f -executable); do
runtest "${sched}"
grep -v " Speculative Return Stack Overflow" /tmp/output | \
sed -n -e '/\bBUG:/q1' \
-e '/\bWARNING:/q1' \
-e '/\berror\b/Iq1' \
-e '/\bstall/Iq1' \
-e '/\btimeout\b/Iq1'
res=$?
if [ ${res} -ne 0 ]; then
echo "FAIL: ${sched}"
exit 1
else
echo "OK: ${sched}"
fi
done

# Run the selftests suite
runtest "tools/testing/selftests/sched_ext/runner"
sed -n -e '/not ok/q1' /tmp/output
res=$?
if [ ${res} -ne 0 ]; then
echo "FAIL: selftests"
echo "output: $(cat /tmp/output)"
else
echo "OK: selftests"
fi
34 changes: 34 additions & 0 deletions .github/workflows/sched-ext.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# sched-ext mandatory options
#
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_SCHED_CLASS_EXT=y

# Enable scheduling debugging
#
CONFIG_SCHED_DEBUG=y

# Enable extra scheduling features (for a better code coverage while testing
# the schedulers)
#
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_CORE=y

# Enable fully preemptible kernel for a better test coverage of the schedulers
#
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_PREEMPT_RCU=y

# Additional debugging information (useful to catch potential locking issues)
#
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
56 changes: 56 additions & 0 deletions .github/workflows/test-kernel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: test-kernel
run-name: ${{ github.actor }} PR run
on: [pull_request]
jobs:
test-schedulers:
runs-on: ubuntu-22.04
steps:
### OTHER REPOS ####

# Hard turn-off interactive mode
- run: echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections

# Refresh packages list
- run: sudo apt update

### DOWNLOAD AND INSTALL DEPENDENCIES ###

# Download dependencies packaged by Ubuntu
- run: sudo apt -y install bc gcc make git coreutils cmake elfutils libelf-dev libunwind-dev libzstd-dev linux-headers-generic linux-tools-common linux-tools-generic ninja-build python3-pip python3-requests qemu-kvm udev iproute2 busybox-static libvirt-clients kbd kmod file rsync zstd pahole flex bison cpio libcap-dev libelf-dev python3-dev cargo rustc gcc-multilib

# clang 17
# Use a custom llvm.sh script which includes the -y flag for
# add-apt-repository. Otherwise, the CI job will hang. If and when
# https://github.com/opencollab/llvm-jenkins.debian.net/pull/26 is
# merged, we can go back to using https://apt.llvm.org/llvm.sh.
- run: wget https://raw.githubusercontent.com/Byte-Lab/llvm-jenkins.debian.net/fix_llvmsh/llvm.sh
- run: chmod +x llvm.sh
- run: sudo ./llvm.sh all
- run: sudo ln -sf /usr/bin/clang-17 /usr/bin/clang
- run: sudo ln -sf /usr/bin/llvm-strip-17 /usr/bin/llvm-strip

# Checkout repository
- uses: actions/checkout@v4

# Install virtme-ng
- run: pip install virtme-ng

### END DEPENDENCIES ###

# Build a minimal kernel (with sched-ext enabled) using virtme-ng
- run: vng -v --build --config .github/workflows/sched-ext.config

# Build the selftests suite
- run: make -j $(nproc) -C tools/testing/selftests/sched_ext

# Build the in-kernel schedulers
- run: make -j $(nproc) -C tools/sched_ext

# Setup KVM support
- run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

# Test the schedulers inside the recompile kernel
- run: .github/workflows/run-schedulers
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,6 @@ sphinx_*/

# Rust analyzer configuration
/rust-project.json

# Include ".github" directory
!.github/
12 changes: 10 additions & 2 deletions Documentation/devicetree/bindings/net/renesas,etheravb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,16 @@ properties:
'#address-cells':
description: Number of address cells for the MDIO bus.
const: 1
deprecated: true

'#size-cells':
description: Number of size cells on the MDIO bus.
const: 0
deprecated: true

mdio:
$ref: /schemas/net/mdio.yaml#
unevaluatedProperties: false

renesas,no-ether-link:
type: boolean
Expand All @@ -110,9 +116,13 @@ properties:
tx-internal-delay-ps:
enum: [0, 2000]

# In older bindings there where no mdio child-node to describe the MDIO bus
# and the PHY. To not fail older bindings accept any node with an address. New
# users should describe the PHY inside the mdio child-node.
patternProperties:
"@[0-9a-f]$":
type: object
deprecated: true

required:
- compatible
Expand All @@ -123,8 +133,6 @@ required:
- resets
- phy-mode
- phy-handle
- '#address-cells'
- '#size-cells'

allOf:
- $ref: ethernet-controller.yaml#
Expand Down
80 changes: 78 additions & 2 deletions Documentation/netlink/specs/rt_link.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,16 @@ definitions:
name: dormant
-
name: echo

-
name: vlan-protocols
type: enum
entries:
-
name: 8021q
value: 33024
-
name: 8021ad
value: 34984
-
name: rtgenmsg
type: struct
Expand Down Expand Up @@ -729,7 +738,38 @@ definitions:
-
name: filter-mask
type: u32

-
name: ifla-vlan-flags
type: struct
members:
-
name: flags
type: u32
enum: vlan-flags
enum-as-flags: true
-
name: mask
type: u32
display-hint: hex
-
name: vlan-flags
type: flags
entries:
- reorder-hdr
- gvrp
- loose-binding
- mvrp
- bridge-binding
-
name: ifla-vlan-qos-mapping
type: struct
members:
-
name: from
type: u32
-
name: to
type: u32

attribute-sets:
-
Expand Down Expand Up @@ -1513,6 +1553,39 @@ attribute-sets:
-
name: num-disabled-queues
type: u32
-
name: linkinfo-vlan-attrs
name-prefix: ifla-vlan-
attributes:
-
name: id
type: u16
-
name: flag
type: binary
struct: ifla-vlan-flags
-
name: egress-qos
type: nest
nested-attributes: ifla-vlan-qos
-
name: ingress-qos
type: nest
nested-attributes: ifla-vlan-qos
-
name: protocol
type: u16
enum: vlan-protocols
byte-order: big-endian
-
name: ifla-vlan-qos
name-prefix: ifla-vlan-qos
attributes:
-
name: mapping
type: binary
multi-attr: true
struct: ifla-vlan-qos-mapping
-
name: linkinfo-vrf-attrs
name-prefix: ifla-vrf-
Expand Down Expand Up @@ -1672,6 +1745,9 @@ sub-messages:
-
value: tun
attribute-set: linkinfo-tun-attrs
-
value: vlan
attribute-set: linkinfo-vlan-attrs
-
value: vrf
attribute-set: linkinfo-vrf-attrs
Expand Down
4 changes: 2 additions & 2 deletions Documentation/networking/dns_resolver.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ Keys of dns_resolver type can be read from userspace using keyctl_read() or
Mechanism
=========

The dnsresolver module registers a key type called "dns_resolver". Keys of
The dns_resolver module registers a key type called "dns_resolver". Keys of
this type are used to transport and cache DNS lookup results from userspace.

When dns_query() is invoked, it calls request_key() to search the local
Expand Down Expand Up @@ -152,4 +152,4 @@ Debugging
Debugging messages can be turned on dynamically by writing a 1 into the
following file::

/sys/module/dnsresolver/parameters/debug
/sys/module/dns_resolver/parameters/debug
1 change: 1 addition & 0 deletions Documentation/scheduler/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Scheduler
sched-nice-design
sched-rt-group
sched-stats
sched-ext
sched-debug

text_files
Expand Down
Loading