Skip to content

Bpf/optimized usdt ci #9219

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

Draft
wants to merge 215 commits into
base: bpf-next_base
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
3d7e101
sched: Make clangd usable
May 23, 2025
b01f2d9
sched/eevdf: Correct the comment in place_entity
wangweimwp Jun 5, 2025
93174c0
irqchip: Use dev_fwnode()
Jun 11, 2025
ff56a3e
timers/migration: Clean up the loop in tmigr_quick_check()
ptesarik Jun 6, 2025
69ab14e
sched: Clean up and standardize #if/#else/#endif markers in sched/aut…
May 28, 2025
bbb1b27
sched: Clean up and standardize #if/#else/#endif markers in sched/clo…
May 28, 2025
b7ebb75
sched: Clean up and standardize #if/#else/#endif markers in sched/core.c
May 28, 2025
8bb9b0c
sched: Clean up and standardize #if/#else/#endif markers in sched/cpu…
May 28, 2025
79af173
sched: Clean up and standardize #if/#else/#endif markers in sched/cpu…
May 28, 2025
4aec866
sched: Clean up and standardize #if/#else/#endif markers in sched/cpu…
May 28, 2025
c503c3d
sched: Clean up and standardize #if/#else/#endif markers in sched/dea…
May 28, 2025
29dd6f8
sched: Clean up and standardize #if/#else/#endif markers in sched/deb…
May 28, 2025
416d5f7
sched: Clean up and standardize #if/#else/#endif markers in sched/fair.c
May 28, 2025
833840a
sched: Clean up and standardize #if/#else/#endif markers in sched/idle.c
May 28, 2025
c215dff
sched: Clean up and standardize #if/#else/#endif markers in sched/loa…
May 28, 2025
311bb3f
sched: Clean up and standardize #if/#else/#endif markers in sched/pel…
May 28, 2025
fd3db70
sched: Clean up and standardize #if/#else/#endif markers in sched/psi.c
May 28, 2025
3eca109
sched: Clean up and standardize #if/#else/#endif markers in sched/rt.c
May 28, 2025
fdccd0c
sched: Clean up and standardize #if/#else/#endif markers in sched/sch…
May 28, 2025
91433cd
sched: Clean up and standardize #if/#else/#endif markers in sched/sta…
May 28, 2025
23d27e2
sched: Clean up and standardize #if/#else/#endif markers in sched/sys…
May 28, 2025
f1c6b95
sched: Clean up and standardize #if/#else/#endif markers in sched/top…
May 28, 2025
5202c25
sched/smp: Always define sched_domains_mutex_lock()/unlock(), def_roo…
May 28, 2025
cac5cef
sched/smp: Make SMP unconditional
May 28, 2025
06ddd17
sched/smp: Always define is_percpu_thread() and scheduler_ipi()
May 28, 2025
a141630
sched/smp: Always define rq->hrtick_csd
May 28, 2025
d0a0a05
sched/smp: Use the SMP version of try_to_wake_up()
May 28, 2025
8039add
sched/smp: Use the SMP version of __task_needs_rq_lock()
May 28, 2025
5884676
sched/smp: Use the SMP version of wake_up_new_task()
May 28, 2025
1f25730
sched/smp: Use the SMP version of sched_exec()
May 28, 2025
74063c1
sched/smp: Use the SMP version of idle_thread_set_boot_cpu()
May 28, 2025
15125a2
sched/smp: Use the SMP version of the RT scheduling class
May 28, 2025
6324dce
sched/smp: Use the SMP version of the deadline scheduling class
May 28, 2025
02fb885
sched/smp: Use the SMP version of scheduler debugging data
May 28, 2025
9d9af23
sched/smp: Use the SMP version of schedstats
May 28, 2025
8a9246d
sched/smp: Use the SMP version of the scheduler syscalls
May 28, 2025
6c8d251
sched/smp: Use the SMP version of sched_update_asym_prefer_cpu()
May 28, 2025
482c4da
sched/smp: Use the SMP version of the idle scheduling class
May 28, 2025
caf5bde
sched/smp: Use the SMP version of the stop-CPU scheduling class
May 28, 2025
1724088
sched/smp: Use the SMP version of cpu_of()
May 28, 2025
9fd5da7
sched/smp: Use the SMP version of is_migration_disabled()
May 28, 2025
703b8e8
sched/smp: Use the SMP version of rq_pin_lock()
May 28, 2025
ea100b3
sched/smp: Use the SMP version of task_on_cpu()
May 28, 2025
0203244
sched/smp: Use the SMP version of WF_ and SD_ flag sanity checks
May 28, 2025
241c307
sched/smp: Use the SMP version of ENQUEUE_MIGRATED
May 28, 2025
fc75ac3
sched/smp: Use the SMP version of add_nr_running()
May 28, 2025
dabe1be
sched/smp: Use the SMP version of double_rq_clock_clear_update()
May 28, 2025
00c7a87
x86/kconfig/64: Refresh defconfig
May 15, 2025
0e11f68
x86/kconfig/32: Refresh defconfig
Jun 13, 2025
aec58b4
bugs/core: Extend __WARN_FLAGS() with the 'cond_str' parameter
May 15, 2025
3bc3c9c
bugs/core: Pass down the condition string of WARN_ON_ONCE(cond) warni…
May 15, 2025
687fac9
bugs/core: Introduce the CONFIG_DEBUG_BUGVERBOSE_DETAILED Kconfig switch
May 15, 2025
407b907
bugs/x86: Extend _BUG_FLAGS() with the 'cond_str' parameter
May 15, 2025
48ede5b
bugs/x86: Augment warnings output by concatenating 'cond_str' with th…
May 15, 2025
1c59c2b
bugs/powerpc: Pass in 'cond_str' to BUG_ENTRY()
May 15, 2025
1284579
bugs/powerpc: Concatenate 'cond_str' with '__FILE__' in BUG_ENTRY(), …
May 15, 2025
66e94df
bugs/LoongArch: Pass in 'cond_str' to __BUG_ENTRY()
May 15, 2025
5d476f6
bugs/LoongArch: Concatenate 'cond_str' with '__FILE__' in __BUG_ENTRY…
May 15, 2025
7d9e902
bugs/s390: Pass in 'cond_str' to __EMIT_BUG()
Mar 27, 2025
45c79ca
bugs/s390: Use 'cond_str' in __EMIT_BUG()
hcahca May 20, 2025
e39fbab
bugs/riscv: Pass in 'cond_str' to __BUG_FLAGS()
May 15, 2025
7f60600
bugs/riscv: Concatenate 'cond_str' with '__FILE__' in __BUG_FLAGS(), …
May 15, 2025
e05788a
bugs/parisc: Concatenate 'cond_str' with '__FILE__' in __WARN_FLAGS()…
May 15, 2025
4c8c74d
bugs/sh: Concatenate 'cond_str' with '__FILE__' in __WARN_FLAGS(), to…
May 15, 2025
d298bb9
bugs/core: Reorganize fields in the first line of WARNING output, add…
May 15, 2025
09735f0
smp: Fix typo in comment for raw_smp_processor_id()
vireshk Jun 10, 2025
66067c3
genirq: Add kunit tests for depth counts
computersforpeace May 22, 2025
b89732c
selftests: Fix errno checking in syscall_user_dispatch test
dvyukov May 21, 2025
a2fc422
syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON
dvyukov May 21, 2025
b6a5a16
selftests: Add tests for PR_SYS_DISPATCH_INCLUSIVE_ON
dvyukov May 21, 2025
4fa7d61
clocksource: Use cpumask_any_but() in clocksource_verify_choose_cpus()
YuryNorov Jun 14, 2025
bfa788d
clocksource: Use cpumask_next_wrap() in clocksource_watchdog()
YuryNorov Jun 14, 2025
ad2062c
x86/tools: insn_decoder_test.c: Emit standard build success messages
May 15, 2025
1dbc32c
x86/tools: insn_sanity.c: Emit standard build success messages
May 15, 2025
d403a36
sched/fair: Move max_cfs_quota_period decl and default_cfs_period() d…
htejun Jun 14, 2025
de4c80c
sched/core: Relocate tg_get_cfs_*() and cpu_cfs_*_read_*()
htejun Jun 14, 2025
43e33f5
sched/core: Reorganize cgroup bandwidth control interface file reads
htejun Jun 14, 2025
5bc34be
sched/core: Reorganize cgroup bandwidth control interface file writes
htejun Jun 14, 2025
4a089c0
PCI/MSI: Remove duplicated to_pci_dev() conversion
Jun 17, 2025
3f83ab6
virt: sev-guest: Contain snp_guest_request_ioctl in sev-guest
aik Jun 11, 2025
d100016
x86/sev: Allocate request in TSC_INFO_REQ on stack
aik Jun 11, 2025
7ffeb2f
x86/sev: Document requirement for linear mapping of guest request buf…
aik Jun 11, 2025
040ed57
x86/sev: Drop unnecessary parameter in snp_issue_guest_request()
aik Jun 11, 2025
ce2c403
x86/efi: Move runtime service initialization to arch/x86
virtuoso Jun 20, 2025
61b57d3
x86/efi: Implement support for embedding SBAT data for x86
vittyvk Jun 3, 2025
2250db8
irqchip/mips-gic: Allow forced affinity
plappermaul Jun 21, 2025
65f55a3
x86/CPU/AMD: Add CPUID faulting support
bp3tk0v May 28, 2025
98ff5c0
x86/bugs: Avoid AUTO after the select step in the retbleed mitigation
pa1gupta Jun 11, 2025
530e806
x86/bugs: Simplify the retbleed=stuff checks
pa1gupta Jun 11, 2025
9f85fdb
x86/bugs: Avoid warning when overriding return thunk
pa1gupta Jun 11, 2025
7e44909
x86/bugs: Use switch/case in its_apply_mitigation()
pa1gupta Jun 11, 2025
8374a27
x86/bugs: Introduce cdt_possible()
pa1gupta Jun 11, 2025
e2a9c03
x86/bugs: Remove its=stuff dependency on retbleed
pa1gupta Jun 11, 2025
a24cc6c
futex: Initialize futex_phash_new during fork().
Jun 23, 2025
ab9f238
x86/bugs: Allow ITS stuffing in eIBRS+retpoline mode also
pa1gupta Jun 11, 2025
5f465c1
x86/traps: Initialize DR6 by writing its architectural reset value
xinli-intel Jun 20, 2025
fa7d0f8
x86/traps: Initialize DR7 by writing its architectural reset value
xinli-intel Jun 20, 2025
7bc4ed7
x86/fpu/xstate: Differentiate default features for host and guest FPUs
gaochaointel May 22, 2025
7c2c893
x86/fpu: Initialize guest FPU permissions from guest defaults
gaochaointel May 22, 2025
509e880
x86/fpu: Initialize guest fpstate and FPU pseudo container from guest…
gaochaointel May 22, 2025
fafb29e
x86/fpu: Remove xfd argument from __fpstate_reset()
gaochaointel May 22, 2025
151bf23
x86/fpu/xstate: Introduce "guest-only" supervisor xfeature set
yang-weijiang May 22, 2025
8b05b3c
x86/fpu/xstate: Add CET supervisor xfeature support as a guest-only f…
yang-weijiang May 22, 2025
20e9fdc
fs/proc/task_mmu: fix PAGE_IS_PFNZERO detection for the huge zero folio
davidhildenbrand Jun 17, 2025
d60bf9b
mm: add OOM killer maintainer structure
Jun 17, 2025
1ada8a6
mm-add-oom-killer-maintainer-structure-fix
akpm00 Jun 18, 2025
0e1a745
mm-add-oom-killer-maintainer-structure-fix-checkpatch-fixes
akpm00 Jun 18, 2025
653ecb3
MAINTAINERS: add tree entry to mm init block
rppt Jun 18, 2025
3e7cd95
MAINTAINERS: add missing files to mm page alloc section
lorenzo-stoakes Jun 18, 2025
7251948
mm/hugetlb: don't crash when allocating a folio if there are no resv
vivekkreddy Jun 18, 2025
7def03d
mm/hugetlb: remove unnecessary holding of hugetlb_lock
May 27, 2025
55efbbc
lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly()
YuKuai-huawei Jun 19, 2025
3dbaca8
lib-group_cpus-fix-null-pointer-dereference-from-group_cpus_evenly-fix
YuKuai-huawei Jun 20, 2025
97d5d51
mm/alloc_tag: fix the kmemleak false positive issue in the allocation…
GeHao01994 Jun 19, 2025
4b50a0e
mm-alloc_tag-fix-the-kmemleak-false-positive-issue-in-the-allocation-…
GeHao01994 Jun 20, 2025
0890064
mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_pat…
sjp38 Jun 19, 2025
0c192f3
scripts/gdb: fix dentry_name() lookup
ffainelli Jun 19, 2025
6636484
lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users()
Jun 20, 2025
a9c5a12
lib-alloc_tag-do-not-acquire-non-existent-lock-in-alloc_tag_top_users-v3
Jun 24, 2025
d20b768
fuse: fix runtime warning on truncate_folio_batch_exceptionals()
haiyuewa Jun 21, 2025
eb00514
mailmap: add entries for Zijun Hu
zijun-hu Jun 20, 2025
974ac1c
mailmap: correct name for a historical account of Zijun Hu
zijun-hu Jun 20, 2025
6387d5d
crashdump: add CONFIG_KEYS dependency
arndb Jun 20, 2025
2805616
selftests/mm: fix validate_addr() helper
Jun 20, 2025
5252d9a
mailmap: update Duje Mihanović's email address
LegoLivesMatter Jun 20, 2025
f76cc62
scripts/gdb: fix interrupts display after MCP on x86
ffainelli Jun 23, 2025
06d1c28
mm/vmalloc: leave lazy MMU mode on PTE mapping error
Jun 23, 2025
f8ddb99
maple_tree: fix mt_destroy_walk() on root leaf node
RichardWeiYang Jun 24, 2025
838053b
scripts/gdb: fix interrupts.py after maple tree conversion
ffainelli Jun 24, 2025
acbb17b
scripts/gdb: de-reference per-CPU MCE interrupts
ffainelli Jun 24, 2025
6d63ccb
include/linux/jhash.h: replace __get_unaligned_cpu32 in jhash function
d3athjest3r Jun 3, 2025
464b4ee
ocfs2: replace simple_strtol with kstrtol
May 27, 2025
2abaf61
alpha: replace sprintf()/strcpy() with scnprintf()/strscpy()
toblux May 21, 2025
122de91
fork: clean-up naming of vm_stack/vm_struct variables in vmap stacks …
soleen May 9, 2025
9a8c0d7
fork: define a local GFP_VMAP_STACK
linusw May 9, 2025
5f7b418
lib/math/gcd: use static key to select implementation at runtime
visitorckw Jun 6, 2025
4ec8b43
riscv: optimize gcd() code size when CONFIG_RISCV_ISA_ZBB is disabled
visitorckw Jun 6, 2025
5429076
riscv: optimize gcd() performance on RISC-V without Zbb extension
visitorckw Jun 6, 2025
65cdf88
kernel: relay: use __GFP_ZERO in relay_alloc_buf
elijah-wright Jun 10, 2025
d9efff6
squashfs: pass the inode to squashfs_readahead_fragment()
Jun 12, 2025
a3bdb31
squashfs: use folios in squashfs_bio_read_cached()
Jun 12, 2025
ed66979
Add a new optional ",cma" suffix to the crashkernel= command line option
jiribohac Jun 12, 2025
fe3171c
kdump: implement reserve_crashkernel_cma
jiribohac Jun 12, 2025
d1435cd
kdump, documentation: describe craskernel CMA reservation
jiribohac Jun 12, 2025
47dc430
kdump: wait for DMA to finish when using CMA
jiribohac Jun 12, 2025
483431f
x86: implement crashkernel cma reservation
jiribohac Jun 12, 2025
e785acf
relayfs: abolish prev_padding
JasonXing Jun 12, 2025
1ffda31
relayfs: support a counter tracking if per-cpu buffers is full
JasonXing Jun 12, 2025
21f462e
relayfs: introduce getting relayfs statistics function
JasonXing Jun 12, 2025
a0ae4d2
blktrace: use rbuf->stats.full as a drop indicator in relayfs
JasonXing Jun 12, 2025
93003b1
relayfs: support a counter tracking if data is too big to write
JasonXing Jun 12, 2025
c75edd7
kcov: fix typo in comment of kcov_fault_in_area
Jun 15, 2025
83b7bcf
exit: fix misleading comment in forget_original_parent()
Jun 15, 2025
1ec4b11
mul_u64_u64_div_u64: fix the division-by-zero behavior
Jun 16, 2025
8a6dcc9
checkpatch: use utf-8 match for spell checking
AntonioBorneo Jun 16, 2025
2583765
uprobes: revert ref_ctr_offset in uprobe_unregister error path
olsajiri May 14, 2025
83e88af
ocfs2: reset folio to NULL when get folio fails
Jun 16, 2025
b4a725c
ocfs2: remove redundant NULL check in rename path
Jun 17, 2025
794c219
fork: clean up ifdef logic around stack allocation
soleen Jun 18, 2025
ff91201
scripts: gdb: move MNT_* constants to gdb-parsed
jmberg-intel Jun 18, 2025
c23eb90
lib/raid6: replace custom zero page with ZERO_PAGE
herbertx Mar 17, 2025
0d19ea8
lib-raid6-replace-custom-zero-page-with-zero_page-v3
herbertx Jun 23, 2025
d7b6d9a
MAINTAINERS: add lib/raid6/ to "SOFTWARE RAID"
akpm00 Jun 19, 2025
0b25ef0
ocfs2: kill osb->system_file_mutex lock
Jun 21, 2025
b0d7fd0
lib: test_objagg: split test_hints_case() into two functions
arndb Jun 20, 2025
f77db38
kthread: update comment for __to_kthread
Jun 20, 2025
c5c659e
fs: fat: Prevent fsfuzzer from dominating the console
FirstLoveLife Jun 20, 2025
154423e
tools/accounting/delaytop: add delaytop to record top-n task delay
Jun 19, 2025
cae5bd3
selftests: ptrace: add set_syscall_info to .gitignore
moonheelee Jun 23, 2025
d15b643
ocfs2: embed actual values into ocfs2_sysfile_lock_key names
Jun 23, 2025
db0589d
watchdog/perf: provide function for adjusting the event period
Jun 19, 2025
f325c16
arm64/watchdog_hld: add a cpufreq notifier for update watchdog thresh
Jun 19, 2025
628a443
mailmap: update Sachin Mokashi's email address
mokashisachin Jun 24, 2025
3687607
Merge branch into tip/master: 'locking/urgent'
Jun 25, 2025
2cd8a89
Merge branch into tip/master: 'x86/urgent'
Jun 25, 2025
6a30303
Merge branch into tip/master: 'core/bugs'
Jun 25, 2025
b106634
Merge branch into tip/master: 'core/entry'
Jun 25, 2025
7090f52
Merge branch into tip/master: 'irq/core'
Jun 25, 2025
f592077
Merge branch into tip/master: 'irq/drivers'
Jun 25, 2025
4a6233c
Merge branch into tip/master: 'irq/msi'
Jun 25, 2025
f25ccd8
Merge branch into tip/master: 'sched/core'
Jun 25, 2025
907feaa
Merge branch into tip/master: 'smp/core'
Jun 25, 2025
ea07977
Merge branch into tip/master: 'timers/core'
Jun 25, 2025
91adc1d
Merge branch into tip/master: 'x86/boot'
Jun 25, 2025
7ea3017
Merge branch into tip/master: 'x86/bugs'
Jun 25, 2025
7183d2c
Merge branch into tip/master: 'x86/cpu'
Jun 25, 2025
7ef5282
Merge branch into tip/master: 'x86/fpu'
Jun 25, 2025
286a205
Merge branch into tip/master: 'x86/kconfig'
Jun 25, 2025
49151ac
Merge branch into tip/master: 'x86/sev'
Jun 25, 2025
4b7c0fe
adding ci files
Jun 28, 2025
c6fc51c
Merge remote-tracking branch 'mm/mm-nonmm-unstable' into bpf/optimize…
olsajiri Jun 28, 2025
5af99e8
Merge remote-tracking branch 'tip/master' into bpf/optimized_usdt_ci
olsajiri Jun 28, 2025
cde95a3
uprobes: Remove breakpoint in unapply_uprobe under mmap_write_lock
olsajiri Mar 12, 2025
1df75b9
uprobes: Rename arch_uretprobe_trampoline function
olsajiri Oct 25, 2024
61ebce3
uprobes: Make copy_from_page global
olsajiri Apr 6, 2025
ad21c32
uprobes: Add uprobe_write function
olsajiri Apr 6, 2025
af472e8
uprobes: Add nbytes argument to uprobe_write
olsajiri Apr 6, 2025
08cdd61
uprobes: Add is_register argument to uprobe_write and uprobe_write_op…
olsajiri Apr 6, 2025
945d099
uprobes: Add do_ref_ctr argument to uprobe_write function
olsajiri Apr 29, 2025
765dad2
uprobes/x86: Add mapping for optimized uprobe trampolines
olsajiri Feb 19, 2025
998e7ce
uprobes/x86: Add uprobe syscall to speed up uprobe
olsajiri Apr 8, 2024
fa3beca
uprobes/x86: Add support to optimize uprobes
olsajiri Oct 23, 2024
84befa1
selftests/bpf: Import usdt.h from libbpf/usdt project
olsajiri Apr 24, 2025
17ef740
selftests/bpf: Reorg the uprobe_syscall test function
olsajiri Dec 15, 2024
b8aa8d7
selftests/bpf: Rename uprobe_syscall_executed prog to test_uretprobe_…
olsajiri Mar 13, 2025
32a2c5c
selftests/bpf: Add uprobe/usdt syscall tests
olsajiri Dec 15, 2024
cdff23f
selftests/bpf: Add hit/attach/detach race optimized uprobe test
olsajiri Dec 10, 2024
d724c3e
selftests/bpf: Add uprobe syscall sigill signal test
olsajiri Dec 10, 2024
bb7fa9a
selftests/bpf: Add optimized usdt variant for basic usdt test
olsajiri Mar 2, 2025
6d2a777
selftests/bpf: Add uprobe_regs_equal test
olsajiri Mar 10, 2025
7d440dd
selftests/bpf: Change test_uretprobe_regs_change for uprobe and uretp…
olsajiri Mar 11, 2025
d2cc0c7
seccomp: passthrough uprobe systemcall without filtering
olsajiri Mar 8, 2025
da2d0e6
selftests/seccomp: validate uprobe syscall passes through seccomp
olsajiri Feb 24, 2025
201471b
debug
olsajiri Jul 1, 2025
55364d7
fix
olsajiri Jul 1, 2025
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
49 changes: 49 additions & 0 deletions .github/actions/veristat_baseline_compare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: 'run-veristat'
description: 'Run veristat benchmark'
inputs:
veristat_output:
description: 'Veristat output filepath'
required: true
baseline_name:
description: 'Veristat baseline cache name'
required: true
runs:
using: "composite"
steps:
- uses: actions/upload-artifact@v4
with:
name: ${{ inputs.baseline_name }}
if-no-files-found: error
path: ${{ github.workspace }}/${{ inputs.veristat_output }}

# For pull request:
# - get baseline log from cache
# - compare it to current run
- if: ${{ github.event_name == 'pull_request' }}
uses: actions/cache/restore@v4
with:
key: ${{ github.base_ref }}-${{ inputs.baseline_name }}-
restore-keys: |
${{ github.base_ref }}-${{ inputs.baseline_name }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'

- if: ${{ github.event_name == 'pull_request' }}
name: Show veristat comparison
shell: bash
run: ./.github/scripts/compare-veristat-results.sh
env:
BASELINE_PATH: ${{ github.workspace }}/${{ inputs.baseline_name }}
VERISTAT_OUTPUT: ${{ inputs.veristat_output }}

# For push: just put baseline log to cache
- if: ${{ github.event_name == 'push' }}
shell: bash
run: |
mv "${{ github.workspace }}/${{ inputs.veristat_output }}" \
"${{ github.workspace }}/${{ inputs.baseline_name }}"

- if: ${{ github.event_name == 'push' }}
uses: actions/cache/save@v4
with:
key: ${{ github.ref_name }}-${{ inputs.baseline_name }}-${{ github.run_id }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'
13 changes: 13 additions & 0 deletions .github/scripts/collect-scx-bpf-progs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

set -euo pipefail

PROGS_DIR=$1

mkdir -p "${PROGS_DIR}"

find "${SCX_BUILD_OUTPUT}" -type f -name "bpf.bpf.o" -print0 | \
while IFS= read -r -d '' prog; do
obj_name=$(echo "$prog" | grep -o "scx.*.bpf.o" | tr / _)
cp -v "$prog" "${PROGS_DIR}/${obj_name}"
done
42 changes: 42 additions & 0 deletions .github/scripts/compare-veristat-results.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

if [[ ! -f "${BASELINE_PATH}" ]]; then
echo "# No ${BASELINE_PATH} available" >> "${GITHUB_STEP_SUMMARY}"

echo "No ${BASELINE_PATH} available"
echo "Printing veristat results"
cat "${VERISTAT_OUTPUT}"

exit 0
fi

veristat=$(realpath selftests/bpf/veristat)
cmp_out=$(mktemp veristate_compare_out_XXXXXX.csv)

$veristat \
--output-format csv \
--emit file,prog,verdict,states \
--compare "${BASELINE_PATH}" "${VERISTAT_OUTPUT}" > $cmp_out

python3 ./.github/scripts/veristat_compare.py $cmp_out
exit_code=$?

echo
# if comparison failed, print verifier log for failure mismatches
if [[ -n "$VERISTAT_DUMP_LOG_ON_FAILURE" && $exit_code -ne 0 ]]; then
cat $cmp_out | tail -n +1 | \
while read -r line; do
verdict=$(echo $line | cut -d',' -f4)
verdict_diff=$(echo $line | cut -d',' -f5)
if [[ "$verdict" == "failure" && "$verdict_diff" == "MISMATCH" ]]; then
file=$(echo $line | cut -d',' -f1)
prog=$(echo $line | cut -d',' -f2)
echo "VERIFIER LOG FOR $file/$prog:"
echo "=================================================================="
$veristat -v $VERISTAT_OBJECTS_DIR/$file -f $prog 2>&1
echo "=================================================================="
fi
done
fi

exit $exit_code
30 changes: 30 additions & 0 deletions .github/scripts/download-gcc-bpf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

set -euo pipefail

GCC_BPF_RELEASE_GH_REPO=$1
INSTALL_DIR=$(realpath $2)

cd /tmp

tag=$(gh release list -L 1 -R ${GCC_BPF_RELEASE_GH_REPO} --json tagName -q .[].tagName)
if [[ -z "$tag" ]]; then
echo "Could not find latest GCC BPF release at ${GCC_BPF_RELEASE_GH_REPO}"
exit 1
fi

url="https://github.com/${GCC_BPF_RELEASE_GH_REPO}/releases/download/${tag}/${tag}.tar.zst"
echo "Downloading $url"
wget -q "$url"

tarball=${tag}.tar.zst
dir=$(tar tf $tarball | head -1 || true)

echo "Extracting $tarball ..."
tar -I zstd -xf $tarball && rm -f $tarball

rm -rf $INSTALL_DIR
mv -v $dir $INSTALL_DIR

cd -

Loading
Loading