Skip to content

Bpf/optimized usdt ci #8814

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
5dcba48
Merge branch 'perf/urgent'
Apr 8, 2025
7ed9138
perf: Ensure bpf_perf_link path is properly serialized
Jan 17, 2025
0a00a43
perf: Simplify child event tear-down
Jan 17, 2025
59f3aa4
perf: Simplify perf_event_free_task() wait
Jan 17, 2025
3e8671e
perf: Simplify perf_event_release_kernel()
Jan 17, 2025
9066136
perf: Unify perf_event_free_task() / perf_event_exit_task_context()
Feb 13, 2025
4da0600
perf: Rename perf_event_exit_task(.child)
Feb 14, 2025
da916e9
perf: Make perf_pmu_unregister() useable
Oct 25, 2024
4dfe323
perf/x86: Add dynamic constraint
Mar 27, 2025
0a65579
perf/x86/intel: Track the num of events needs late setup
Mar 27, 2025
c9449c8
perf: Extend the bit width of the arch-specific flag
Mar 27, 2025
1856c6c
perf/x86/intel: Add CPUID enumeration for the auto counter reload
Mar 27, 2025
ec980e4
perf/x86/intel: Support auto counter reload
Mar 27, 2025
3256a83
perf/x86/intel/bts: Rename local bts_buffer variables for clarity
toblux Apr 7, 2025
1734d98
perf/arch: Record sample last_period before updating on the x86 and P…
markbarnett-arm Apr 8, 2025
5c3627b
perf/x86/intel/bts: Replace offsetof() with struct_size()
toblux Apr 13, 2025
c713544
mm/contig_alloc: fix alloc_contig_range when __GFP_COMP and order < M…
tujinjiang11 Mar 12, 2025
529e8e9
mm/page_alloc: fix deadlock on cpu_hotplug_lock in __accept_page()
kiryl Mar 29, 2025
c79668c
fs/dax: fix folio splitting issue by resetting old folio order + _nr_…
davidhildenbrand Apr 10, 2025
c125d0e
MAINTAINERS: update SLAB ALLOCATOR maintainers
tehcaster Apr 10, 2025
5ecd25d
MAINTAINERS: add MM subsection for the page allocator
tehcaster Apr 10, 2025
e55a5fc
mm: memcontrol: fix swap counter leak from offline cgroup
Apr 10, 2025
83304c5
MAINTAINERS: add mmap trace events to MEMORY MAPPING
howlett Apr 11, 2025
46f108b
MAINTAINERS: add memory advice section
lorenzo-stoakes Apr 11, 2025
ea35818
mm/gup: fix wrongly calculated returned value in fault_in_safe_writea…
Apr 10, 2025
ee02456
mm: hugetlb: fix incorrect fallback for subpool
Apr 10, 2025
b40da28
docs: ABI: replace [email protected] with new Meta address
a3f Apr 14, 2025
9b57762
writeback: fix false warning in inode_to_wb()
Apr 12, 2025
6cda35e
mm, hugetlb: increment the number of pages to be reset on HVO
osalvadorvilardaga Apr 15, 2025
54474cb
mm/memory: move sanity checks in do_wp_page() after mapcount vs. refc…
davidhildenbrand Apr 15, 2025
d48d092
mm: fix ratelimit_pages update error in dirty_ratio_handler()
fatherMatrix Apr 15, 2025
b1d28c7
MAINTAINERS: add Pedro as reviewer to the MEMORY MAPPING section
lorenzo-stoakes Apr 16, 2025
f0b29e8
mm: vmscan: restore high-cpu watermark safety in kswapd
hnaz Apr 16, 2025
5ef2063
mm: vmscan: fix kswapd exit condition in defrag_mode
hnaz Apr 16, 2025
e3da355
MAINTAINERS: add section for locking of mm's and VMAs
lorenzo-stoakes Apr 16, 2025
8e273dd
mm/page_alloc.c: avoid infinite retries caused by cpuset race
zhangtianyang-zty Apr 16, 2025
b6e8e2f
mm: set the pte dirty if the folio is already dirty
Apr 2, 2025
9f74584
mm: introduce a common definition of mk_pte()
Apr 2, 2025
819cc7c
sparc32: remove custom definition of mk_pte()
Apr 2, 2025
ee50c14
x86: remove custom definition of mk_pte()
Apr 2, 2025
dcba827
um: remove custom definition of mk_pte()
Apr 2, 2025
9c36afd
mm: make mk_pte() definition unconditional
Apr 2, 2025
6f1a676
mm: add folio_mk_pte()
Apr 2, 2025
c88724a
hugetlb: simplify make_huge_pte()
Apr 2, 2025
329c51a
mm: remove mk_huge_pte()
Apr 2, 2025
c9cc46c
mm: add folio_mk_pmd()
Apr 2, 2025
ccf6aa3
arch: remove mk_pmd()
Apr 2, 2025
a4c8573
filemap: remove readahead_page()
Apr 2, 2025
d087e7e
mm: remove offset_in_thp()
Apr 2, 2025
53652c7
iov_iter: convert iter_xarray_populate_pages() to use folios
Apr 2, 2025
93a5d8e
iov_iter: convert iov_iter_extract_xarray_pages() to use folios
Apr 2, 2025
52836b0
filemap: remove find_subpage()
Apr 2, 2025
be5be8b
filemap: convert __readahead_batch() to use a folio
Apr 2, 2025
970e901
filemap: remove readahead_page_batch()
Apr 2, 2025
f24886a
mm: delete thp_nr_pages()
Apr 2, 2025
10f7cc9
zsmalloc: prefer the the original page's node for compressed data
nhatsmrt Apr 2, 2025
743ba2d
zsmalloc-prefer-the-the-original-pages-node-for-compressed-data-fix
sergey-senozhatsky Apr 3, 2025
0a6c8d7
memcg, oom: do not bypass oom killer for dying tasks
Apr 2, 2025
f2324b8
mm: page_alloc: remove redundant READ_ONCE
Apr 2, 2025
4449be5
memory: implement memory_block_advise/probe_max_size
Jan 27, 2025
5c422f9
x86: probe memory block size advisement value during mm init
Jan 27, 2025
6a0531d
acpi,srat: give memory block size advice based on CFMWS alignment
Jan 27, 2025
74adc6e
mm/compaction: use folio in hugetlb pathway
VMoola Apr 1, 2025
0774853
mm: annotate data race in update_hiwater_rss
IEncinas10 Mar 31, 2025
d88cd74
mm/show_mem: optimize si_meminfo_node by reducing redundant code
Mar 25, 2025
dc4f65a
selftests/mm: convert page_size to unsigned long
Apr 3, 2025
f97b643
zram: modernize writeback interface
sergey-senozhatsky Mar 27, 2025
9b8679e
zram: modernize writeback interface
sergey-senozhatsky Apr 4, 2025
c0d3c9b
zram: modernize writeback interface
sergey-senozhatsky Apr 9, 2025
e30dbaa
mm/page_alloc: simplify free_page_is_bad by removing free_page_is_bad…
Mar 28, 2025
4973a73
mm/compaction: remove low watermark cap for proactive compaction
mclapinski Apr 4, 2025
6c13bcc
mm/compaction: reduce the difference between low and high watermarks
mclapinski Apr 4, 2025
30da94c
memcg: vmalloc: simplify MEMCG_VMALLOC updates
shakeelb Apr 3, 2025
ed6adfd
memcg: simplify MEMCG_VMALLOC updates - fix
shakeelb Apr 4, 2025
bdf4bd3
memcg: remove root memcg check from refill_stock
shakeelb Apr 4, 2025
6379096
memcg: decouple drain_obj_stock from local stock
shakeelb Apr 4, 2025
fd4b123
memcg: introduce memcg_uncharge
shakeelb Apr 4, 2025
4e498a9
memcg: manually inline __refill_stock
shakeelb Apr 4, 2025
54a88a6
memcg: no refilling stock from obj_cgroup_release
shakeelb Apr 4, 2025
6a7b33e
memcg: do obj_cgroup_put inside drain_obj_stock
shakeelb Apr 4, 2025
fc07b94
memcg: use __mod_memcg_state in drain_obj_stock
shakeelb Apr 4, 2025
b73f7ac
memcg: combine slab obj stock charging and accounting
tehcaster Apr 4, 2025
32a4093
memcg: manually inline replace_stock_objcg
shakeelb Apr 4, 2025
f385b56
mm: swap: rename __swap_[entry/entries]_free[_locked] to swap_[entry/…
Mar 25, 2025
0ae3bc6
mm: swap: enable swap_entry_range_free() to drop any kind of last ref
Mar 25, 2025
95b2e3e
mm: swap: add __maybe_unused attribute for swap_is_last_ref() and upd…
Apr 10, 2025
fb2f733
mm: swap: use swap_entries_free() to free swap entry in swap_entry_pu…
Mar 25, 2025
d4c8aee
mm: swap: use swap_entries_free() drop last ref count in swap_entries…
Mar 25, 2025
4281c54
mm: swap: drop last SWAP_MAP_SHMEM flag in batch in swap_entries_put_…
Mar 25, 2025
8300ee3
mm: swap: free each cluster individually in swap_entries_put_map_nr()
Mar 25, 2025
18ef1f7
mm: swap: factor out helper to drop cache of entries within a single …
Mar 25, 2025
fbe4f01
mm: swap: replace cluster_swap_free_nr() with swap_entries_put_[map/c…
Mar 25, 2025
ffeda13
mm: add kernel-doc comment for free_pgd_range()
SoumishDas Mar 25, 2025
34d85c6
hexagon: add syscall_set_return_value()
ldv-alt Mar 3, 2025
6b02c63
syscall.h: add syscall_set_arguments()
ldv-alt Mar 3, 2025
24e4f18
syscallh-add-syscall_set_arguments-fix
nathanchance Apr 8, 2025
d793b27
syscall.h: introduce syscall_set_nr()
ldv-alt Mar 3, 2025
5527bb9
ptrace_get_syscall_info: factor out ptrace_get_syscall_info_op
ldv-alt Mar 3, 2025
ceaf751
ptrace: introduce PTRACE_SET_SYSCALL_INFO request
ldv-alt Mar 3, 2025
c2dc068
selftests/ptrace: add a test case for PTRACE_SET_SYSCALL_INFO
ldv-alt Mar 3, 2025
051d95a
zsmalloc: cleanup headers includes
sergey-senozhatsky Mar 25, 2025
b1d24cc
fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions
avagin Mar 24, 2025
daa08b8
tools headers UAPI: sync linux/fs.h with the kernel sources
avagin Mar 24, 2025
13d79d7
selftests/mm: add PAGEMAP_SCAN guard region test
avagin Mar 24, 2025
8d97296
mm: fix parameter passed to page_mapcount_is_type()
Mar 21, 2025
0ce3953
mm/debug: fix parameter passed to page_mapcount_is_type()
Mar 21, 2025
c1d9b36
mm-debug-fix-parameter-passed-to-page_mapcount_is_type-fix
akpm00 Apr 7, 2025
fe9c299
kernel/events/uprobes: pass VMA instead of MM to remove_breakpoint()
davidhildenbrand Mar 21, 2025
b4170bb
kernel/events/uprobes: pass VMA to set_swbp(), set_orig_insn() and up…
davidhildenbrand Mar 21, 2025
9d03649
kernel/events/uprobes: uprobe_write_opcode() rewrite
davidhildenbrand Mar 21, 2025
58c729d
mm: page_alloc: tighten up find_suitable_fallback()
hnaz Apr 7, 2025
fa8945d
selftest/mm: make hugetlb_reparenting_test tolerant to async reparenting
wangli5665 Apr 7, 2025
d157bcb
mm/ptdump: split note_page() into level specific callbacks
Apr 7, 2025
c8c84fe
mm/ptdump: split effective_prot() into level specific callbacks
Apr 7, 2025
5f7b9e9
arm64/mm: define ptdesc_t
Apr 7, 2025
fcfb66d
xarray: make xa_alloc_cyclic() return 0 on all success cases
pkitszel Mar 20, 2025
74431fb
fs/proc/page: refactor to reduce code duplication
Mar 18, 2025
7eab4e9
vmalloc: add for_each_vmap_node() helper
urezki Apr 8, 2025
8b62b72
vmalloc: switch to for_each_vmap_node() helper
urezki Apr 8, 2025
784fb63
vmalloc-switch-to-for_each_vmap_node-helper-fix
akpm00 Apr 10, 2025
8f64df9
vmalloc: use for_each_vmap_node() in purge-vmap-area
urezki Apr 8, 2025
975365c
sched/numa: add statistics of numa balance task migration and swap
yu-chen-surf Apr 8, 2025
56a4acb
mm: pass mm down to pagetable_{pte,pmd}_ctor
kevin-brodsky-arm Apr 8, 2025
83d3c2e
x86: pgtable: always use pte_free_kernel()
kevin-brodsky-arm Apr 8, 2025
1333c50
mm: call ctor/dtor for kernel PTEs
kevin-brodsky-arm Apr 8, 2025
a6bac8f
m68k: mm: call ctor/dtor for kernel PTEs
kevin-brodsky-arm Apr 8, 2025
c022338
powerpc: mm: call ctor/dtor for kernel PTEs
kevin-brodsky-arm Apr 8, 2025
c5fb430
sparc64: mm: call ctor/dtor for kernel PTEs
kevin-brodsky-arm Apr 8, 2025
5efa000
mm: skip ptlock_init() for kernel PMDs
kevin-brodsky-arm Apr 8, 2025
d922248
arm64: mm: use enum to identify pgtable level instead of *_SHIFT
kevin-brodsky-arm Apr 8, 2025
3f83fc9
arm64: mm: always call PTE/PMD ctor in __create_pgd_mapping()
kevin-brodsky-arm Apr 8, 2025
251807f
riscv: mm: clarify ctor mm argument in alloc_{pte,pmd}_late
kevin-brodsky-arm Apr 8, 2025
f0b8d65
arm64: mm: call PUD/P4D ctor in __create_pgd_mapping()
kevin-brodsky-arm Apr 8, 2025
b0abcc9
riscv: mm: call PUD/P4D ctor in special kernel pgtable alloc
kevin-brodsky-arm Apr 8, 2025
6fff7d3
mm: rust: add abstraction for struct mm_struct
Darksonn Apr 8, 2025
ff963c9
mm: rust: add vm_area_struct methods that require read access
Darksonn Apr 8, 2025
cde19af
mm: rust: add vm_insert_page
Darksonn Apr 8, 2025
a065f2b
mm: rust: add lock_vma_under_rcu
Darksonn Apr 8, 2025
5626a5a
mm: rust: add mmput_async support
Darksonn Apr 8, 2025
99247c1
mm: rust: add VmaNew for f_ops->mmap()
Darksonn Apr 8, 2025
71de9df
rust: miscdevice: add mmap support
Darksonn Apr 8, 2025
e0317de
task: rust: rework how current is accessed
Darksonn Apr 8, 2025
98f5bff
mm: rust: add MEMORY MANAGEMENT [RUST]
Darksonn Apr 8, 2025
4f93f1b
mm/vma: fix incorrectly disallowed anonymous VMA merges
lorenzo-stoakes Apr 8, 2025
cc29f69
tools/testing: add PROCMAP_QUERY helper functions in mm self tests
lorenzo-stoakes Apr 8, 2025
5760f0c
tools/testing/selftests: assert that anon merge cases behave as expected
lorenzo-stoakes Apr 8, 2025
7d70be5
mm: huge_memory: add folio_mark_accessed() when zapping file THP
Apr 9, 2025
c2462e3
mm-huge_memory-add-folio_mark_accessed-when-zapping-file-thp-fix.txt
Apr 11, 2025
8a3cdd5
mm: numa_memblks: introduce numa_add_reserved_memblk()
Apr 9, 2025
682b131
mm/madvise: define and use madvise_behavior struct for madvise_do_beh…
sjp38 Apr 10, 2025
43f5bc6
mm/madvise: batch tlb flushes for MADV_FREE
sjp38 Apr 10, 2025
e1cca27
mm/memory: split non-tlb flushing part from zap_page_range_single()
sjp38 Apr 10, 2025
e727ca1
mm/madvise: batch tlb flushes for MADV_DONTNEED[_LOCKED]
sjp38 Apr 10, 2025
85af179
maple_tree: convert mas_prealloc_calc() to take in a maple write state
sidkumar99 Apr 10, 2025
d057718
maple_tree: use height and depth consistently
sidkumar99 Apr 10, 2025
3e6d756
maple_tree: use vacant nodes to reduce worst case allocations
sidkumar99 Apr 10, 2025
73ae316
maple_tree: break on convergence in mas_spanning_rebalance()
sidkumar99 Apr 10, 2025
99d6243
maple_tree: add sufficient height
sidkumar99 Apr 10, 2025
f953bf3
maple_tree: reorder mas->store_type case statements
sidkumar99 Apr 10, 2025
03d0d16
selftests/mm: restore default nr_hugepages value during cleanup in hu…
donettom-1 Apr 10, 2025
23fb48c
memcg: optimize memcg_rstat_updated
shakeelb Apr 10, 2025
45029fa
selftests/damon: remove the remaining test scripts for DAMON debugfs …
lienze Apr 11, 2025
763a4b5
mm, hugetlb: avoid passing a null nodemask when there is mbind policy
osalvadorvilardaga Apr 15, 2025
8017680
vmalloc: use atomic_long_add_return_relaxed()
urezki Apr 15, 2025
0e8f932
mm,hugetlb: allocate frozen pages in alloc_buddy_hugetlb_folio
osalvadorvilardaga Apr 11, 2025
149758f
mm/gup: remove unneeded checking in follow_page_pte()
Apr 10, 2025
f4a3c8a
mm/gup: remove gup_fast_pgd_leaf() and clean up the relevant codes
Apr 10, 2025
20a64c2
mm/gup: clean up codes in fault_in_xxx() functions
Apr 10, 2025
33f8541
mm-gup-clean-up-codes-in-fault_in_xxx-functions-v5
Apr 13, 2025
12a2855
memblock: add MEMBLOCK_RSRV_KERN flag
rppt Apr 11, 2025
ff48f03
memblock: add support for scratch memory
agraf Apr 11, 2025
9b2a2a4
memblock: introduce memmap_init_kho_scratch()
rppt Apr 11, 2025
2f86a04
kexec: add Kexec HandOver (KHO) generation helpers
agraf Apr 11, 2025
9b75057
kexec: add KHO parsing support
agraf Apr 11, 2025
0fd5c27
kexec: enable KHO support for memory preservation
rppt Apr 11, 2025
4ba2109
kexec: add KHO support to kexec file loads
agraf Apr 11, 2025
fd14c81
kexec: add config option for KHO
agraf Apr 11, 2025
6cb6b34
arm64: add KHO support
agraf Apr 11, 2025
e80176e
x86/setup: use memblock_reserve_kern for memory used by kernel
rppt Apr 11, 2025
5aee41b
x86: add KHO support
agraf Apr 11, 2025
ef92e6b
memblock: add KHO support for reserve_mem
agraf Apr 11, 2025
40d4124
Documentation: add documentation for KHO
agraf Apr 11, 2025
674251a
Documentation: KHO: add memblock bindings
rppt Apr 11, 2025
79f35c4
samples/damon/prcl: fix a comment typo
lienze Apr 11, 2025
1d34a05
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Apr 17, 2025
f6938a5
perf/core: Fix perf-stat / read()
Apr 16, 2025
2839f39
perf/core: Fix put_ctx() ordering
Apr 9, 2025
162c9e3
perf/core: Fix event->parent life-time issue
Apr 15, 2025
b02b41c
perf/core: Fix event timekeeping merge
Apr 16, 2025
48d66c8
perf/x86/intel: Add PMU support for Clearwater Forest
Apr 15, 2025
25c623f
perf/x86/intel: Parse CPUID archPerfmonExt leaves for non-hybrid CPUs
Apr 15, 2025
d971342
perf/x86/intel: Decouple BTS initialization from PEBS initialization
Apr 15, 2025
acb727e
perf/x86/intel: Rename x86_pmu.pebs to x86_pmu.ds_pebs
Apr 15, 2025
4a3fd13
perf/x86/intel: Introduce pairs of PEBS static calls
Apr 15, 2025
9728a8b
adding ci files
Apr 17, 2025
610f6e1
uprobes/x86: Add support to emulate NOP instructions
olsajiri Apr 14, 2025
fe8e5a3
selftests/bpf: Add 5-byte NOP uprobe trigger benchmark
olsajiri Apr 14, 2025
4f81cc2
perf/x86/amd/uncore: Remove unused 'struct amd_uncore_ctx::node' member
sandip4n Apr 18, 2025
05c9b0c
perf/x86/intel/uncore: Use HRTIMER_MODE_HARD for detecting overflows
sandip4n Apr 18, 2025
6d937e0
perf/x86/amd/uncore: Use hrtimer for handling overflows
sandip4n Apr 18, 2025
e1ed37b
perf/x86/amd/uncore: Add parameter to configure hrtimer
sandip4n Apr 18, 2025
2492e5a
perf/x86/amd/uncore: Prevent UMC counters from saturating
sandip4n Apr 18, 2025
dc07802
Merge remote-tracking branch 'tip/perf/core' into bpf/optimized_usdt_ci
olsajiri Apr 18, 2025
4a52e48
Merge remote-tracking branch 'mm/mm-unstable' into bpf/optimized_usdt_ci
olsajiri Apr 18, 2025
45e02b1
uprobes: Rename arch_uretprobe_trampoline function
olsajiri Oct 25, 2024
f738b37
uprobes: Make copy_from_page global
olsajiri Apr 6, 2025
a8edc92
uprobes: Move ref_ctr_offset update out of uprobe_write_opcode
olsajiri Apr 6, 2025
6aecab1
uprobes: Add uprobe_write function
olsajiri Apr 6, 2025
10f723e
uprobes: Add nbytes argument to uprobe_write
olsajiri Apr 6, 2025
ce8afb2
uprobes: Add is_register argument to uprobe_write and uprobe_write_op…
olsajiri Apr 6, 2025
bd68f07
uprobes: Remove breakpoint in unapply_uprobe under mmap_write_lock
olsajiri Mar 12, 2025
d3ebde1
uprobes/x86: Add mapping for optimized uprobe trampolines
olsajiri Feb 19, 2025
b49fdcf
uprobes/x86: Add uprobe syscall to speed up uprobe
olsajiri Apr 8, 2024
c3ebd3e
uprobes/x86: Add support to optimize uprobes
olsajiri Oct 23, 2024
09d4655
selftests/bpf: Use 5-byte nop for x86 usdt probes
olsajiri Apr 17, 2024
df23a2b
selftests/bpf: Reorg the uprobe_syscall test function
olsajiri Dec 15, 2024
7f739f7
selftests/bpf: Rename uprobe_syscall_executed prog to test_uretprobe_…
olsajiri Mar 13, 2025
19b14f1
selftests/bpf: Add uprobe/usdt syscall tests
olsajiri Dec 15, 2024
ba6c5f0
selftests/bpf: Add hit/attach/detach race optimized uprobe test
olsajiri Dec 10, 2024
1893305
selftests/bpf: Add uprobe syscall sigill signal test
olsajiri Dec 10, 2024
4ddbd8a
selftests/bpf: Add optimized usdt variant for basic usdt test
olsajiri Mar 2, 2025
7cb0a34
selftests/bpf: Add uprobe_regs_equal test
olsajiri Mar 10, 2025
fa7737d
selftests/bpf: Change test_uretprobe_regs_change for uprobe and uretp…
olsajiri Mar 11, 2025
7aea675
seccomp: passthrough uprobe systemcall without filtering
olsajiri Mar 8, 2025
412abc6
selftests/seccomp: validate uprobe syscall passes through seccomp
olsajiri Feb 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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: ${{ inputs.baseline_name }}-${{ github.base_ref }}
restore-keys: |
${{ 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: ${{ inputs.baseline_name }}-${{ github.ref_name }}-${{ github.run_id }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'
18 changes: 18 additions & 0 deletions .github/scripts/compare-veristat-results.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/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
fi

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

python3 ./.github/scripts/veristat_compare.py compare.csv
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