Skip to content

Commit 5a32c1e

Browse files
authored
Increase maximum frames in our fork. (#64)
This makes it so we can't support 4.19 series kernels (which are EOL anyway...) but bumps the number of frames we can support from 120 to 240, which is necessary due to the deeply nested stacks in certain Rust libraries (e.g. Tokio and Axum).
1 parent f20d100 commit 5a32c1e

8 files changed

Lines changed: 4 additions & 4 deletions

.github/workflows/unit-test-on-pull-request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ jobs:
138138
# https://github.com/cilium/ci-kernels/pkgs/container/ci-kernels/versions?filters%5Bversion_type%5D=tagged
139139

140140
# AMD64
141-
- { target_arch: amd64, kernel: 4.19.314 }
141+
# - { target_arch: amd64, kernel: 4.19.314 }
142142
- { target_arch: amd64, kernel: 5.4.276 }
143143
- { target_arch: amd64, kernel: 5.10.217 }
144144
- { target_arch: amd64, kernel: 5.15.159 }

support/ebpf/native_stack_trace.ebpf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ bpf_map_def SEC("maps") unwind_info_array = {
5050
};
5151

5252
// The number of native frames to unwind per frame-unwinding eBPF program.
53-
#define NATIVE_FRAMES_PER_PROGRAM 4
53+
#define NATIVE_FRAMES_PER_PROGRAM 8
5454

5555
// The decision whether to unwind native stacks or interpreter stacks is made by checking if a given
5656
// PC address falls into the "interpreter loop" of an interpreter. This map helps identify such
309 KB
Binary file not shown.
314 KB
Binary file not shown.
92 KB
Binary file not shown.
92.2 KB
Binary file not shown.

support/ebpf/types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ typedef enum TraceOrigin {
386386
// MAX_FRAME_UNWINDS defines the maximum number of frames per
387387
// Trace we can unwind and respect the limit of eBPF instructions,
388388
// limit of tail calls and limit of stack size per eBPF program.
389-
#define MAX_FRAME_UNWINDS 128
389+
#define MAX_FRAME_UNWINDS 256
390390

391391
// MAX_NON_ERROR_FRAME_UNWINDS defines the maximum number of frames
392392
// to be pushed by unwinders while still leaving space for an error frame.

support/types.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)