Upgrading BCC to get the fix of ARM64 syscall prefix detection in C++ API#10
Open
mlakshkar wants to merge 251 commits intopixie-io:pixie9from
Open
Upgrading BCC to get the fix of ARM64 syscall prefix detection in C++ API#10mlakshkar wants to merge 251 commits intopixie-io:pixie9from
mlakshkar wants to merge 251 commits intopixie-io:pixie9from
Conversation
Remove the case where print_stacktrace is called even when syms is null. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…option
Add additional information and change format of backtrace
- add symbol base offset, dso name, dso base offset
- symbol and dso info is included if it's available in target binary
- changed format:
ADDR [SYMBOL+OFFSET] (MODULE+OFFSET)
before:
# ./profile
clocksource_watchdog
call_timer_fn
run_timer_softirq
__softirqentry_text_start
irq_exit_rcu
sysvec_apic_timer_interrupt
asm_sysvec_apic_timer_interrupt
strlen
b
a
main
__libc_start_main
- test-strlen-abc (26209)
1
After:
# ./profile -v
0xffffffff8111f594 clocksource_watchdog+0xd4
0xffffffff81117454 call_timer_fn+0x24
0xffffffff81117de4 run_timer_softirq+0x444
0xffffffff81dd3493 __softirqentry_text_start+0xd3
0xffffffff8108143c irq_exit_rcu+0x6c
0xffffffff81dc738e sysvec_apic_timer_interrupt+0x3e
0xffffffff81e00d46 asm_sysvec_apic_timer_interrupt+0x16
0x00007f71fc0f8bc6 strlen+0x106 (/lib/x86_64-linux-gnu/libc-2.19.so+0x88bc6)
0x0000560e13e006e1 b+0x9 (/root/es/test_utils/test-strlen-abc+0x6e1)
0x0000560e13e006d3 a+0x9 (/root/es/test_utils/test-strlen-abc+0x6d3)
0x0000560e13e00755 main+0x14 (/root/es/test_utils/test-strlen-abc+0x755)
0x00007f71fc091ec5 __libc_start_main+0xf5 (/lib/x86_64-linux-gnu/libc-2.19.so+0x21ec5)
- test-strlen-abc (26209)
1
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Include symbol base offset in the kernel stack trace to accurately pinpoint
the location of function calls.
The offset is commonly used in various debugging tools, including those for
the Linux kernel.
Before:
# ./wakeuptime.py
target: kworker/u8:3
ffffffffc0215f96 bpf_prog_6deef7357e7b4530_sd_fw_ingress
ffffffff928e925d bpf_trace_run1
ffffffff9274d7d9 __bpf_trace_sched_wakeup_template
ffffffff9274611b __traceiter_sched_wakeup
ffffffff9275e2c1 ttwu_do_activate
ffffffff9275e4f1 sched_ttwu_pending
ffffffff92827fb3 __flush_smp_call_function_queue
ffffffff92828b3a flush_smp_call_function_queue
ffffffff9277d5a7 do_idle
ffffffff9277d80a cpu_startup_entry
ffffffff926a7349 start_secondary
ffffffff92600279 secondary_startup_64_no_verify
waker: swapper/3
1508198
After:
# ./wakeuptime.py
target: kworker/u8:0
ffffffffc0215f9a bpf_prog_6deef7357e7b4530_sd_fw_ingress+0xfaf6
ffffffff928e925d bpf_trace_run1+0x4d
ffffffff9274d7d9 __bpf_trace_sched_wakeup_template+0x9
ffffffff9274611b __traceiter_sched_wakeup+0x2b
ffffffff9275e2c1 ttwu_do_activate+0x131
ffffffff9275e4f1 sched_ttwu_pending+0xf1
ffffffff92827fb3 __flush_smp_call_function_queue+0x143
ffffffff92828b3a flush_smp_call_function_queue+0x3a
ffffffff9277d5a7 do_idle+0xb7
ffffffff9277d80a cpu_startup_entry+0x2a
ffffffff926a7349 start_secondary+0x129
ffffffff92600279 secondary_startup_64_no_verify+0x184
waker: swapper/2
247368
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: zhangzikang01 <zhangzikang@kylinos.cn> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
In kernel commit b951aaff5035 ("mm: enable page allocation tagging") [1], add
_noprof suffix to filemap_alloc_folio.
Link: torvalds/linux@b951aaf [1]
Signed-off-by: Rong Tao <rongtao@cestc.cn>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Print shmctl command:
$ sudo ./shmsnoop.py
PID COMM SYS RET ARGs
16413 writer SHMGET 31 key: 0xd2032983, size: 4194304, shmflg: 0x3a4 (IPC_CREAT|0644)
16413 writer SHMAT 7f7f572b8000 shmid: 0x31, shmaddr: 0x0, shmflg: 0x0
16413 writer SHMDT 0 shmaddr: 0x7f7f572b8000
16418 reader SHMGET 31 key: 0xd2032983, size: 4194304, shmflg: 0x1a4 (0644)
16418 reader SHMAT 7f28e81a4000 shmid: 0x31, shmaddr: 0x0, shmflg: 0x0
16418 reader SHMDT 0 shmaddr: 0x7f28e81a4000
16418 reader SHMCTL 0 shmid: 0x31, cmd: 0 (IPC_RMID), buf: 0x0
^^^^^^^^^^
Signed-off-by: Rong Tao <rongtao@cestc.cn>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
This PR accounts for the rename/refactor of the following functions
__do_page_cache_readahead -> do_page_cache_ra -> page_cache_ra_order by torvalds/linux@8238287eadb2 and torvalds/linux@56a4d67c264e
__page_cache_alloc -> filemap_alloc_folio -> filemap_alloc_folio_noprof by torvalds/linux@bb3c579e25e5 and torvalds/linux@b951aaff5035.
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Inspired by the perf-top command, the offcputime tool is
enhanced to support tracking multiple processes and threads.
$ man perf-top
-p <pid>, --pid=<pid>
Profile events on existing Process ID (comma separated list).
-t <tid>, --tid=<tid>
Profile events on existing thread ID (comma separated list).
Before:
$ offcputime -h
optional arguments:
-p PID, --pid PID trace this PID only
-t TID, --tid TID trace this TID only
examples:
./offcputime -p 185 # only trace threads for PID 185
./offcputime -t 188 # only trace thread 188
After:
$ offcputime -h
optional arguments:
-p PID, --pid PID trace these PIDs only, comma separated list
-t TID, --tid TID trace these TIDs only, comma separated list
examples:
./offcputime -p 185,175,165 # only trace threads for PID 185,175,165
./offcputime -t 188,120,134 # only trace threads 188,120,134
Signed-off-by: Yingming Mao <maoyingming@baidu.com>
Reviewed-by: Shuo Li <lishuo02@baidu.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
The upstream commit llvm/llvm-project#82240 introduced a func signature change for func getFileLineInfoForAddress(). Add proper change to accommodate llvm20 need for additional func arguments. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Upstream patch llvm/llvm-project#107008 makes cpu=v3 as the default. Previously cpu=v1 as the default for bcc. Let us mark cpu=v1 explicitly for bcc for now to keep it backword compatible. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
cpudist.py supports run in pid namespace Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…r#5105) musl libc has no error.h, but luckily the include is not needed at all and can just be removed. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Modify the help message for multi-process/thread support in libbpf-tools/profile and tools/profile. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
This is a test example.
# ./offcputime -p 16,48
Tracing off-CPU time (us) of PID [16, 48]... Hit Ctrl-C to end.
bpf_prog_a42aae11c0bc18f2_sched_switch
bpf_prog_a42aae11c0bc18f2_sched_switch
bpf_trace_run4
__traceiter_sched_switch
__schedule
schedule
worker_thread
kthread
ret_from_fork
ret_from_fork_asm
- kworker/2:1 (48)
3353019
bpf_prog_a42aae11c0bc18f2_sched_switch
bpf_prog_a42aae11c0bc18f2_sched_switch
bpf_trace_run4
__traceiter_sched_switch
__schedule
schedule
rcu_gp_kthread
kthread
ret_from_fork
ret_from_fork_asm
- rcu_preempt (16)
1720974
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Add a utility API to split and convert strings for argument parsing. Also, apply the API usage to offcputime and profile to remove duplicates. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Parameter freq of open_and_attach_perf_event is not in use. So remove it. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
tools/softirqs.py supports `-c/--cpu` otption to filter cpu, It's reasonable to support a same otption for libbpf-tools/softirqs. Add `-mcpu=v3` in Makefile for softirqs or the shift op will lead to verifier errors. Reported-by: Tang Yizhou <tangyeechou@gmail.com> Signed-off-by: Dantezy <zhangyet@gmail.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Dantezy <zhangyet@gmail.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
1: Ports that do not meet the conditions in function "entry_state_update_func" will not be stored in the "start_ipv4" or "start_ipv6", and the "ret_state_update_func" function will not obtain values, so there is no need to perform port filtering again. 2: Sock_store can be directly deleted in function "ret_func". Signed-off-by: Feng Yang <yangfeng@kylinos.cn> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Add zfs based on zfsdist.py and zfsslower.py. Signed-off-by: Feng Yang <yangfeng@kylinos.cn> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
It is not sufficient to determine whether Elf is ET_DYN or not to be a
dynamic library in bcc_elf_is_shared_obj() function, because the executable
Elf of the PIE type is also ET_DYN.
For example, on Fedora 41, /usr/bin/bash is PIE:
$ readelf -h /usr/bin/bash
ELF Header:
...
Type: DYN (Position-Independent Executable file)
...
bcc_elf_is_shared_obj() should not return 'true' for /usr/bin/bash.
This commit add function bcc_elf_is_pie() and export it in bcc_elf.h.
At the same time, fix test py_test_usdt3.
Signed-off-by: Rong Tao <rongtao@cestc.cn>
Signed-off-by: Jiang Guirong <2386499836@qq.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
\# at the beginning can show that it is a command Add # at the beginning of the example command in biolatenxy_example.txt Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Import argparser and add basic implementation for this. Now user can use -h option for threadsnoop tool. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
-F option prints a separate histogram for each unique set of request flags. But the explanation right after the -F option example is not about this option. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Users are usually interested in events that happen frequently and consume more time. So, print the results in descending order. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Fix the following compilation error with GCC 8.5.0:
gethostlatency.c: In function ‘attach_uprobes.isra.2’:
gethostlatency.c:157:58: error: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 4074 and 4084 [-Werror=format-truncation=]
snprintf(proc_path, sizeof(proc_path), "/proc/%d/root%s", target_pid, buf);
^~ ~~~
gethostlatency.c:157:5: note: ‘snprintf’ output between 13 and 4118 bytes into a destination of size 4096
snprintf(proc_path, sizeof(proc_path), "/proc/%d/root%s", target_pid, buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Another compatibility game, allow offcputime to run on kernels without BPF trampoline using raw tracepoint. Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
The top upstream libbpf commit is
commit afb8b17bc50b0b7606ad4ea468cbc9f5aede8dae (HEAD -> master, origin/master, origin/HEAD)
Author: Andrii Nakryiko <andrii@kernel.org>
Date: Mon Dec 15 10:30:36 2025 -0800
sync: latest libbpf changes from kernel
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
The top upstream blazesym commit is
commit 30b803d861e6609f2ca3e84a3e7e0eb2c41ef5bb (HEAD -> main, origin/main, origin/HEAD)
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Jan 14 14:05:06 2026 +0000
build(deps): bump zip from 7.0.0 to 7.1.0
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
The top upstream bpftool commit is
commit ad5d76e5c6b622e5ed05fecfa68029bae949d408
Author: Quentin Monnet <qmo@kernel.org>
Date: Wed Dec 17 02:08:51 2025 +0000
sync: Pull latest bpftool changes from kernel
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
* Support for kernel up to 6.18
* New Tools
tools/softirqslower: New tool to trace slow software interrupt handlers (iovisor#5356)
* Enhanced Functionality
libbpf-tools/opensnoop: Added full-path support with `-F` option (iovisor#5323, iovisor#5333)
libbpf-tools/filelife: Added full-path support (iovisor#5347, ab8e061)
libbpf-tools: Introduced path helpers (ab8e061)
libbpf-tools/trace_helpers: Added str_loadavg() and str_timestamp() common functions (694de9f)
libbpf-tools/filetop: Added directory filter capability (iovisor#5300)
libbpf-tools/runqslower: Added `-c` option to filter by process name prefix (673911c)
libbpf-tools/runqlat: Dynamically size pid/pidns histogram map (iovisor#5342)
libbpf-tools/fsdist, fsslower: Added support for fuse filesystem (9691c56)
libbpf-tools/tcptop: Major refactoring using fentry/fexit for better performance (75bb73a, e2c7917, d786eaa, da3a474)
tools/opensnoop: Added full-path support with `-F` option (iovisor#5334, iovisor#5339)
tools/kvmexit: Added AMD processor support and parallel post-processing (13a4e5a, c2af2ee)
tools/offwaketime: Added raw tracepoint support to reduce overhead (380ee01)
Python uprobe API: Added functionality to detach all uprobes for a binary (iovisor#5325)
Python API: Added support for executing a program and tracing it (iovisor#5362)
* Bug Fixes
libbpf-tools/filelife: Fixed wrong full-path handling (iovisor#5347)
libbpf-tools/filelife: Fixed problem when using perf-buffer (ec8415b)
libbpf-tools/funclatency: Delete the element from the `starts` map after it has been used (06ce134)
libbpf-tools/offcputime: Fixed min/max_block_ns unit conversion error (iovisor#5327, d507a53)
libbpf-tools/syncsnoop: Added support for sync_file_range2 and arm_sync_file_range() (4287921)
libbpf-tools/ksnoop: Fixed two invalid access to map value (iovisor#5361)
libbpf-tools/klockstat: Allows kprobe fallback to work with lock debugging (iovisor#5359)
libbpf-tools/biotop: Fixed segmentation fault with musl libc build (52d2d09)
libbpf-tools/syscall_helpers, Python BCC: Updated syscall list (add file_getattr/file_setattr) (b63d7e3, a9c6650)
tools/tcpaccept: Fixed on recent kernels (c208d0e)
tools/tcpconnect: Fixed iov field for DNS with Linux>=6.4 (iovisor#5382)
tools/javaobjnew: Use MIN macro instead of min function (fb8910a)
tools/biolatency, biosnoop, biotop: Use TRACEPOINT_PROBE() for tracepoints (iovisor#5366)
Various tools: Don't use the old bpf_probe_read() helper (1cc15c3)
CC: Support versioned SONAME in shared library resolution (beb1fe4, c351210)
Python TCP: Added state2str() and applied to tools (bfa05d2)
s390 architecture: Prevent invalid mem access when reading PAGE_OFFSET (d8595ee)
* Build & Test Fixes
Fixed build failure with clang21 (iovisor#5369)
Fixed build for LLVM 23 by avoiding deprecated TargetRegistry overloads (iovisor#5401)
ci: Make version.cmake handle shallow clone (2232b7e)
ci: Various test fixes for proper CI operation (blk probes, rss_stat, kmalloc, btrfs/f2fs) (a499181, c338547, 6b7dd5d, ea5cf83)
tests: Added coverage for versioned SONAME resolution (c351210)
Removed luajit options to ensure no errors (26eaf13)
* Doc update, other bug fixes and tools improvement
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
This commit completes the synchronization required after updating the libbpf submodule to commit afb8b17bc50b0b7606ad4ea468cbc9f5aede8dae in commit f820b82. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…sync The libbpf update uses __LINUX_BPF_H__ guard, causing duplicate inclusions in BCC's pipeline. Revert to _UAPI__ prefix for now to restore test stability. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…(30b803d) Sync libbpf-tools with blazesym @30b803d861e6609f and migrate integration from the old Rust FFI API to the new native C API. - Makefile: switch to using updated blazesym C library and header (libblazesym_c.a and blazesym/capi/include/blazesym.h) - Migrate tools: futexctn, opensnoop, memleak to use new API and print file:line symbol info where available. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
* Bug Fixes
Sync BCC with libbpf submodule update (afb8b17) (iovisor#5455, iovisor#5460)
libbpf-tools: Sync blazesym submodule and migrate tools to new C API (iovisor#5458)
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
This adds new listns and a missing uprobe sycall to x86 and a few extra missing non x86 syscalls. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
The compile error is caused by a type mismatch between u64 and `unsigned long long`. This patch explicitly casts the `samples` variable to `unsigned long long` to resolve the issue iovisor#5332. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Clang >= 18 (with -Werror,-Wstring-plus-int) rejects the expression "/\0" + (condition) because adding an integer to a string literal does not concatenate strings -- it performs pointer arithmetic, and clang warns that this is almost certainly not what was intended. The original intent is to conditionally emit a leading '/' separator. When the condition is true the pointer is advanced past the '/' to land on the NUL terminator, producing an empty string; when false the full "/" is printed. Replace the pointer-arithmetic trick with an explicit ternary expression that achieves the same semantics without the warning: (condition) ? "" : "/" This is both warning-free and immediately clear to readers unfamiliar with the original idiom. Fixes: iovisor#5452 Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
sizeof(&piddata.comm) returns the size of the pointer (8 bytes on 64-bit), while sizeof(piddata.comm) returns the actual size of the char array (TASK_COMM_LEN). This error caused the task command to be truncated. Original output (truncated COMM): TIME(s) COMM PID DISK T SECTOR BYTES LAT(ms) 0.000634 f2fs_ck 298 mmcblk0 WSM 5037016 16384 0.108 0.004835 kworker 2628 mmcblk0 WFSM 5037048 4096 0.464 Fixed output: TIME(s) COMM PID DISK T SECTOR BYTES LAT(ms) 0.000253 f2fs_ckpt-254: 298 mmcblk0 WSM 5032920 20480 0.903 0.002865 kworker/0:0 2628 mmcblk0 WFSM 5032960 4096 0.495 Change-Id: Iaf1753055a9117e3cf6dbbf6dc6a6c753a584f6c Signed-off-by: Ism Hong <ism.hong@gmail.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
LLVM-22 changed the signatures of various createDiagnostics() calls [1]. Introduce a new version macro guard and adapt the code to the changed API. Fixes iovisor#5483 [1] llvm/llvm-project@30633f3 Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
LLVM is has deprecated PointerType::get/getUnqual and is working towards their removal, see llvm/llvm-project#123569. These deprecation warnings currently show up when building against LLVM 21. Fix this by using the recommended method taking a Context. Fixes: iovisor#5472 Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Glibc 2.43 added C23 const-preserving overloads to various string functions, which change the return type depending on the constness of the argument(s). Currently this leads to warnings from calls to strtr(). Fix this by properly declaring the respective variable types. Fixes iovisor#5471 Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Fixes issue where bpf.get_syscall_fnname() on ARM64 returns bare syscall name instead of the prefixed __arm64_sys_ variant, causing kprobe attachment failures. Now detects ARM64 prefix alongside x64 (__x64_sys_) and generic (sys_) prefixes. Fixes: iovisor#5350 Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Fixes issue where bpf.get_syscall_fnname() on riscv64 returns bare syscall name instead of the prefixed _riscv_sys variant, causing kprobe attachment failures. Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Starting in Linux 6.19, `struct ns_common` fields were moved into an
anonymous nested forward declaration (`struct ns_tree;`) within a
union.[1]
This causes Clang to throw a `[-Wmissing-declarations]` warning and
fail with missing member errors.
This affects tools pulling in `<linux/pid_namespace.h>` directly or
transitively (e.g. filetop, runqlat)
Errors encountered:
include/linux/ns/ns_common_types.h:117:3: warning: declaration does not declare anything [-Wmissing-declarations]
117 | struct ns_tree;
| ^~~~~~~~~~~~~~
In file included from /virtual/main.c:5:
In file included from include/linux/pid_namespace.h:11:
include/linux/ns_common.h:25:23: error: no member named 'ns_id' in 'struct ns_common'
25 | VFS_WARN_ON_ONCE(ns->ns_id == 0);
| ~~ ^
include/linux/ns_common.h:26:13: error: no member named 'ns_id' in 'struct ns_common'
26 | return ns->ns_id <= NS_LAST_INIT_ID;
| ~~ ^
include/linux/ns_common.h:60:26: error: no member named '__ns_ref_active' in 'struct ns_common'
60 | return atomic_read(&ns->__ns_ref_active);
This patch fixes the issue globally by turning on microsoft extensions
flags. These flags have already been in the linux kernel. [2]
[1] torvalds/linux@a657bc8
[2] torvalds/linux@c4781dc
Signed-off-by: Avinesh Kumar <avinesh.kumar@suse.com>
Fixes: iovisor#5488
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Done by remove certain suffix, and attach a 16 chars random string. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…ble and add clear individual entry to stack traces table; both for optimizing performance when continuously running the perf profiler. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
…k_addr(); when set, the table entry is cleared after it is read. Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
one ring buffer worth of data. Signed-off-by: James Bartlett <jamesbartlett@pixielabs.ai> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Zain Asgar <zasgar@pixielabs.ai> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Zain Asgar <zasgar@pixielabs.ai> Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
Signed-off-by: Monu Lakshkar <mlakshkar@newrelic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrading BCC to get the fix of ARM64 syscall prefix detection in C++ API