- Apr 29, 2021
-
-
Yonghong Song authored
This reverts commit cda7acdb. This will tigger ugly compilation macro redefined warnings: $ sudo ./biolatency.py In file included from /virtual/main.c:3: In file included from include/linux/blkdev.h:5: In file included from include/linux/sched.h:12: In file included from arch/x86/include/asm/current.h:6: In file included from arch/x86/include/asm/percpu.h:45: include/linux/kernel.h:992:9: warning: 'container_of' macro redefined [-Wmacro-redefined] #define container_of(ptr, type, member) ({ \ ^ /virtual/include/bcc/helpers.h:48:9: note: previous definition is here #define container_of(ptr, type, member) \ ^ 1 warning generated. Tracing block device I/O... Hit Ctrl-C to end. Revert now and let us design how to support it better. For example, may create a different header file to put common kernel macros there to be used by the program. Signed-off-by:
Yonghong Song <yhs@fb.com>
-
Simone Magnani authored
This commit enhances the items_delete_batch() function by accepting a ct.Array instead of a Python list. This way, the array does not need to be re-created, allowing to directly perform the requested operation. Signed-off-by:
Simone Magnani <simonemagnani.96@gmail.com>
-
Simone Magnani authored
This commit aims at introducing items_update_batch, batch operation to update multiple key-value pairs at the same time. Doc has been updated accordingly, and a test is provided. Signed-off-by:
Simone Magnani <simonemagnani.96@gmail.com>
-
Simone Magnani authored
This commit introduces the self.max_entries attribute both into Queue/Stack maps and to all those whwqo extend TableBase Signed-off-by:
Simone Magnani <simonemagnani.96@gmail.com>
-
Simone Magnani authored
This commit introduces the possibility to iterate over all elements of a Queue/Stack. To avoid infinite loop, a maximum of MAX_ENTRIES pop() are performed Signed-off-by:
Simone Magnani <simonemagnani.96@gmail.com>
-
edwardwu authored
Sometimes log2 range is not enough for throughput tuning. Especially a little difference in performance downgrade. Also, this extension uses two bpf helper bpf_map_lookup_elem(). It's a cost on embedded system, therefore it's better to be an option. Signed-off-by:
Edward Wu <edwardwu@realtek.com>
-
Jerome Marchand authored
Since commit 75f20a15 ("Use string type for comparison to PATH elements"), src_file isn't working anymore. Somehow, two wrongs (ArgString __str__() returning a bytes object and joining a bytes and what was supposed to be a string) did make a right. It fixes the following error in netqtop and deadlock: Traceback (most recent call last): File "/usr/share/bcc/tools/netqtop", line 207, in <module> b = BPF(src_file = EBPF_FILE) File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 335, in __init__ src_file = BPF._find_file(src_file) File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 255, in _find_file t = b"/".join([os.path.abspath(os.path.dirname(argv0.__str__())), filename]) TypeError: sequence item 0: expected a bytes-like object, str found
-
- Apr 28, 2021
-
-
netedwardwu authored
BUG: funclatency memcpy -i 2 nsecs : count distribution 0 -> 1 : 0 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 0 | | 32 -> 63 : 0 | | 64 -> 127 : 0 | | 128 -> 255 : 0 | | 256 -> 511 : 0 | | 512 -> 1023 : 0 | | 1024 -> 2047 : 0 | | 2048 -> 4095 : 28 |************ | 4096 -> 8191 : 92 |****************************************| avg = 4265 nsecs, total: 9413985 nsecs, count: 2207 nsecs : count distribution 0 -> 1 : 0 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 0 | | 32 -> 63 : 0 | | 64 -> 127 : 0 | | 128 -> 255 : 0 | | 256 -> 511 : 0 | | 512 -> 1023 : 0 | | 1024 -> 2047 : 0 | | 2048 -> 4095 : 38 |****** | 4096 -> 8191 : 248 |****************************************| avg = 4304 nsecs, total: 11066321 nsecs, count: 2571 After long-run, you can see the count above is totally wrong. Also, display together before together clearing is important for better accuracy. Signed-off-by:
Edward Wu <edwardwu@realtek.com>
-
yzhao authored
This is useful when BPFStackTable is used by a long running program to limit the memory usage, by removing the cached symbols of an exited process.
-
- Apr 26, 2021
-
-
Yonghong Song authored
These are two common kernel macros to manipulate data structures. Let us add them to helpers.h so bpf program can use them. Signed-off-by:
Yonghong Song <yhs@fb.com>
-
- Apr 25, 2021
-
-
Emilien Gobillot authored
. add bpf_map_lookup_batch and bpf_map_delete_batch in bcc . add test_map_batch_ops.py to test batch lookup and delete on map . add items_lookup_batch() and items_delete_batch() in the reference guide . add keys as an optional argument to items_delete_batch
-
Kenta Tada authored
* Fix the check of the existence of module BTFs * Initialize the global variable Signed-off-by:
Kenta Tada <Kenta.Tada@sony.com>
-
Wenbo Zhang authored
Signed-off-by:
Wenbo Zhang <ethercflow@gmail.com>
-
- Apr 16, 2021
-
-
chenyue.zhou authored
-
chenyue.zhou authored
-
- Apr 10, 2021
-
-
chendotjs authored
-
- Apr 06, 2021
-
-
Hengqi Chen authored
Signed-off-by:
Hengqi Chen <chenhengqi@outlook.com>
-
Hengqi Chen authored
Signed-off-by:
Hengqi Chen <chenhengqi@outlook.com>
-
- Apr 05, 2021
-
-
Andrii Nakryiko authored
This brings in KERNEL_VERSION macro fix, among few other recent features. Signed-off-by:
Andrii Nakryiko <andrii@kernel.org>
-
- Apr 01, 2021
-
-
Andrii Nakryiko authored
Do not rely on up-to-date UAPI headers on the system. Instead use the most recent ones that are used for libbpf's own build. Signed-off-by:
Andrii Nakryiko <andrii@kernel.org>
-
Andrii Nakryiko authored
Now that libbpf defines NULL in bpf_helpers.h, there is no need for tools to re-define NULL. Signed-off-by:
Andrii Nakryiko <andrii@kernel.org>
-
Andrii Nakryiko authored
Update libbpf to the latest upstream commit. Signed-off-by:
Andrii Nakryiko <andrii@kernel.org>
-
Wenbo Zhang authored
Signed-off-by:
Wenbo Zhang <ethercflow@gmail.com>
-
Roman Sudarikov authored
-
Roman Sudarikov authored
-
Roman Sudarikov authored
-
Roman Sudarikov authored
-
Wenbo Zhang authored
Signed-off-by:
Wenbo Zhang <ethercflow@gmail.com>
-
- Mar 22, 2021
-
-
FedeParola authored
-
- Mar 20, 2021
-
-
Jerome Marchand authored
The lookup_fast function can be rename lookup_fast.constprop.x by gcc constant propagation optimization and that breaks dcstat and dcsnoop. Let's look for both name using a regular expression.
-
Tiezhu Yang authored
In order to fix the following errors when running bpf program on the MIPS Loongson64 platform, add some basic support, with this patch, running hello_world.py can get the expected result. root@linux:/home/loongson/bcc# python examples/hello_world.py In file included from <built-in>:3: In file included from /virtual/include/bcc/helpers.h:51: In file included from include/uapi/linux/if_packet.h:5: arch/mips/include/uapi/asm/byteorder.h:17:3: error: "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" # error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" ^ In file included from <built-in>:3: In file included from /virtual/include/bcc/helpers.h:53: In file included from include/linux/log2.h:12: In file included from include/linux/bitops.h:32: In file included from arch/mips/include/asm/bitops.h:19: In file included from arch/mips/include/asm/barrier.h:11: arch/mips/include/asm/addrspace.h:13:10: fatal error: 'spaces.h' file not found #include <spaces.h> ^~~~~~~~~~ 2 errors generated. Traceback (most recent call last): File "examples/hello_world.py", line 12, in <module> BPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!\\n"); return 0; }').trace_print() File "/usr/lib/python2.7/site-packages/bcc/__init__.py", line 364, in __init__ raise Exception("Failed to compile BPF module %s" % (src_file or "<text>")) Exception: Failed to compile BPF module <text> root@linux:/home/loongson/bcc# python examples/hello_world.py In file included from <built-in>:3: In file included from /virtual/include/bcc/helpers.h:53: In file included from include/linux/log2.h:12: In file included from include/linux/bitops.h:32: arch/mips/include/asm/bitops.h:101:3: error: invalid output constraint '+ZC' in asm __bit_op(*m, __INS "%0, %3, %2, 1", "i"(bit), "r"(~0)); ^ arch/mips/include/asm/bitops.h:40:19: note: expanded from macro '__bit_op' : "=&r"(__temp), "+" GCC_OFF_SMALL_ASM()(mem) \ ^ [...] arch/mips/include/asm/atomic.h:154:1: error: invalid output constraint '+ZC' in asm arch/mips/include/asm/atomic.h:151:2: note: expanded from macro 'ATOMIC_OPS' ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) ^ arch/mips/include/asm/atomic.h:141:4: note: expanded from macro 'ATOMIC_FETCH_OP' "+" GCC_OFF_SMALL_ASM() (v->counter) \ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Traceback (most recent call last): File "examples/hello_world.py", line 12, in <module> BPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!\\n"); return 0; }').trace_print() File "/usr/lib/python2.7/site-packages/bcc/__init__.py", line 364, in __init__ raise Exception("Failed to compile BPF module %s" % (src_file or "<text>")) Exception: Failed to compile BPF module <text> Signed-off-by:
Tiezhu Yang <yangtiezhu@loongson.cn>
-
Yonghong Song authored
* Support for kernel up to 5.11 * allow BCC as a cmake subproject * add LPORT support in tcpconnlat and tcpconnect * added bpf_map_lookup_and_delete_batch support * new tools: virtiostat * new libbpf-tools: cpufreq, funclatency, cachestat * add install target to libbpf-tools * a few lua fixes * doc update and bug fixes Signed-off-by:
Yonghong Song <yhs@fb.com>
-
Yonghong Song authored
sync with latest libbpf with top commit: 092a60685625 Makefile: fix install flags order Signed-off-by:
Yonghong Song <yhs@fb.com>
-
- Mar 19, 2021
-
-
Gary Lin authored
The recent linux distros already support PIE so it shouldn't be a problem to remove "-no-pie". To avoid issue#782, we make "-no-pie" optional and enable it by default. For the distro with PIE luajit, just add the following build option: -DENABLE_NO_PIE=OFF Then, bcc-lua will be built with PIE support. Signed-off-by:
Gary Lin <glin@suse.com>
-
- Mar 17, 2021
-
-
Mariusz Barczak authored
Signed-off-by:
Mariusz Barczak <mariusz.barczak@intel.com>
-
Wenbo Zhang authored
Signed-off-by:
Wenbo Zhang <ethercflow@gmail.com>
-
chenhengqi authored
Signed-off-by:
Hengqi Chen <chenhengqi@outlook.com>
-
Tiezhu Yang authored
libbcc.so is actually installed to /usr/lib64 instead of /usr/local/lib in my computer system: $ find /usr -name libbcc.so /usr/lib64/libbcc.so And also we can find out bcc-python: $ find /usr/lib -name bcc /usr/lib/python2.7/site-packages/bcc It is better to use one line command to export environment variable LD_LIBRARY_PATH and PYTHONPATH. Signed-off-by:
Tiezhu Yang <yangtiezhu@loongson.cn>
-
Wenbo Zhang authored
Signed-off-by:
Wenbo Zhang <ethercflow@gmail.com>
-
suresh kumar authored
-