{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":34921116,"defaultBranch":"master","name":"bcc","ownerLogin":"iovisor","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-05-01T19:52:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/12766186?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1711325823.0","currentOid":""},"activityList":{"items":[{"before":"c93a19aaf3f7eae9d6c9070309cc785c18575767","after":"1d8daaa395f066b328a56a36fbd40a0de3a7b3c1","ref":"refs/heads/master","pushedAt":"2024-05-30T15:55:34.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"build: Remove dependency on LLVM header from libbcc packages\n\nThis is essentially reverting #4921\n\nSigned-off-by: Manu Bretelle ","shortMessageHtmlLink":"build: Remove dependency on LLVM header from libbcc packages"}},{"before":"8caf04080c9211c47567a144c688d08b762a89b4","after":"c93a19aaf3f7eae9d6c9070309cc785c18575767","ref":"refs/heads/master","pushedAt":"2024-05-19T05:43:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"argdist.py: Fix verbose printing b'bytes': decode bytes to str (#5005)\n\nThe uprobe and kprobe keys are bytes not str they need to be decoded on Python3.\r\n\r\nSigned-off-by: Bernhard Kaindl ","shortMessageHtmlLink":"argdist.py: Fix verbose printing b'bytes': decode bytes to str (#5005)"}},{"before":"6a9c335ab6590893a816303d709543c67588aa8d","after":"8caf04080c9211c47567a144c688d08b762a89b4","ref":"refs/heads/master","pushedAt":"2024-05-19T05:15:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Fix: startswith() is deprecated: Use starts_with instead (#5002)\n\nllvm [0] startswith() is deprecated in commit 5ac12951b4e9 (\"[ADT] Deprecate\r\nStringRef::{starts,ends}with (#75491)\"), and it's totally removed in\r\ncommit 4ec9a662d388 (\"[ADT] Remove StringRef::{startswith,endswith} (#89548)\").\r\n\r\nWarning detail:\r\n\r\n $ make\r\n [...]\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc:341:37: warning: ‘bool llvm::StringRef::startswith(llvm::StringRef) const’ is deprecated: Use starts_with instead [-Wdeprecated-declarations]\r\n 341 | if (!A->getName().startswith(\"maps\"))\r\n | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~\r\n In file included from /usr/include/clang/Basic/DiagnosticIDs.h:19,\r\n from /usr/include/clang/Basic/Diagnostic.h:17,\r\n from /usr/include/clang/AST/NestedNameSpecifier.h:18,\r\n from /usr/include/clang/AST/Type.h:21,\r\n from /usr/include/clang/AST/CanonicalType.h:17,\r\n from /usr/include/clang/AST/ASTContext.h:18,\r\n from /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc:23:\r\n /usr/include/llvm/ADT/StringRef.h:263:29: note: declared here\r\n 263 | \"starts_with\") bool startswith(StringRef Prefix) const {\r\n | ^~~~~~~~~~\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc: In member function ‘bool ebpf::ProbeVisitor::assignsExtPtr(clang::Expr*, int*)’:\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc:393:39: warning: ‘bool llvm::StringRef::startswith(llvm::StringRef) const’ is deprecated: Use starts_with instead [-Wdeprecated-declarations]\r\n 393 | if (!A->getName().startswith(\"maps\"))\r\n | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~\r\n /usr/include/llvm/ADT/StringRef.h:263:29: note: declared here\r\n 263 | \"starts_with\") bool startswith(StringRef Prefix) const {\r\n | ^~~~~~~~~~\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc: In member function ‘bool ebpf::BTypeVisitor::VisitCallExpr(clang::CallExpr*)’:\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc:940:37: warning: ‘bool llvm::StringRef::startswith(llvm::StringRef) const’ is deprecated: Use starts_with instead [-Wdeprecated-declarations]\r\n 940 | if (!A->getName().startswith(\"maps\"))\r\n | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~\r\n /usr/include/llvm/ADT/StringRef.h:263:29: note: declared here\r\n 263 | \"starts_with\") bool startswith(StringRef Prefix) const {\r\n | ^~~~~~~~~~\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc: In member function ‘bool ebpf::BTypeVisitor::VisitVarDecl(clang::VarDecl*)’:\r\n /home/rongtao/Git/iovisor/bcc/src/cc/frontends/clang/b_frontend_action.cc:1458:33: warning: ‘bool llvm::StringRef::startswith(llvm::StringRef) const’ is deprecated: Use starts_with instead [-Wdeprecated-declarations]\r\n 1458 | if (!A->getName().startswith(\"maps\"))\r\n | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~\r\n /usr/include/llvm/ADT/StringRef.h:263:29: note: declared here\r\n 263 | \"starts_with\") bool startswith(StringRef Prefix) const {\r\n | ^~~~~~~~~~\r\n [ 73%] Built target clang_frontend-objects\r\n\r\n[0] https://github.com/llvm/llvm-project\r\n\r\nSigned-off-by: Xue Yuehua <2482887395@qq.com>\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"Fix: startswith() is deprecated: Use starts_with instead (#5002)"}},{"before":"343aecb36d822ff507ff39269632cf68858ca683","after":"6a9c335ab6590893a816303d709543c67588aa8d","ref":"refs/heads/master","pushedAt":"2024-05-19T04:41:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"tools/sslsniff: fix length field for handshake (#5001)\n\nThe `len` field for `SSL_do_handshake` should be zero. The current\r\nimplementation utilizes the return value, which is `1` on success [1].\r\n\r\n[1] https://www.openssl.org/docs/manmaster/man3/SSL_do_handshake.html\r\n\r\nReported-by: Alban Crequy \r\nSigned-off-by: Tianyi Liu ","shortMessageHtmlLink":"tools/sslsniff: fix length field for handshake (#5001)"}},{"before":"a6202850d9addc8d0a1e30a4252a00dfc942efc5","after":"343aecb36d822ff507ff39269632cf68858ca683","ref":"refs/heads/master","pushedAt":"2024-05-19T04:38:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"tools/kvmexit: Add BUS_LOCK and NOTIFY reasons (#5000)\n\nThe linux [0] KVM VMX enable two new VM exit, as follows:\r\n\r\ncommit 2f4073e08f4c (\"KVM: VMX: Enable Notify VM exit\")\r\n\r\n $ git describe 2f4073e08f4c\r\n v5.19-rc1-95-g2f4073e08f4c\r\n\r\ncommit fe6b6bc802b4 (\"KVM: VMX: Enable bus lock VM exit\")\r\n\r\n $ git describe fe6b6bc802b4\r\n v5.11-rc3-54-gfe6b6bc802b4\r\n\r\n[0] https://github.com/torvalds/linux.git\r\n\r\nSigned-off-by: Xue Yuehua <2482887395@qq.com>\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"tools/kvmexit: Add BUS_LOCK and NOTIFY reasons (#5000)"}},{"before":"b0b4239a6c3c00887e1050d1418a3a97530bec10","after":"a6202850d9addc8d0a1e30a4252a00dfc942efc5","ref":"refs/heads/master","pushedAt":"2024-05-19T04:35:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"libbpf-tools/map_helpers: Fix duplicate map read operations (#4998)\n\nEven when the batch read is successful, a non-batch read is performed.\r\nFixed so that non-batch reads are not performed once batch reads are done.\r\n\r\nThis is the result of testing tcpconnect by adding some logs to map_helpers.\r\n\r\nBefore:\r\n ./tcpconnect -c\r\n dump_hash_batch, *count: 3\r\n k: 16777343, v: 1\r\n k: 50331775, v: 0\r\n k: 385875968, v: 1\r\n\r\n dump_hash_iter, *count: 3\r\n k: 16777343, v: 1\r\n k: 50331775, v: 0\r\n k: 385875968, v: 1\r\n\r\n LADDR RADDR RPORT CONNECT\r\n 127.0.0.1 127.0.0.3 23 1\r\n 127.0.0.1 127.0.0.1 23 1\r\n 127.0.0.1 127.0.0.2 23 1\r\n\r\nAfter:\r\n ./tcpconnect -c\r\n dump_hash_batch *count: 2\r\n k: 16777343, v: 1\r\n k: 16777343, v: 0\r\n\r\n LADDR RADDR RPORT CONNECT\r\n 127.0.0.1 127.0.0.1 23 1\r\n 127.0.0.1 127.0.0.2 23 1","shortMessageHtmlLink":"libbpf-tools/map_helpers: Fix duplicate map read operations (#4998)"}},{"before":"5bc97bbc50b1ccf0c63f320ee73a2c0abe84b596","after":"b0b4239a6c3c00887e1050d1418a3a97530bec10","ref":"refs/heads/master","pushedAt":"2024-05-19T04:13:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"libbpf tcptop: Fix PID column alignment when pids are large (#5004)\n\nFix PID column alignment when PIDs are large in libbpf-tools/tcptop:\r\n\r\nCheck the maximum width of the PIDs on the system and adjust the format to avoid column misalignment:\r\n\r\nPID COMM LADDR RADDR RX_KB TX_KB\r\n1987802 wget 127.0.0.1:44960 127.0.0.1:443 6 0\r\n1987815 wget 127.0.0.1:44968 127.0.0.1:443 6 0\r\n2770 stunnel 127.0.0.1:51460 127.0.0.1:80 4 0\r\n2770 stunnel 127.0.0.1:51452 127.0.0.1:80 4 0\r\n1936412 sshd 10.71.56.137:22 10.71.8.14:45682 0 2\r\n1987805 curl 127.0.0.1:44964 127.0.0.1:443 1 0\r\n1987818 curl 127.0.0.1:44972 127.0.0.1:443 1 0\r\n2770 stunnel 127.0.0.1:51456 127.0.0.1:80 0 0\r\n2770 stunnel 127.0.0.1:51464 127.0.0.1:80 0 0\r\n1918977 sshd 10.71.56.137:22 10.71.8.14:51046 0 0\r\n\r\n Also fix the alignment of the \"TX_KB\" label by moving the trailing \"\\n\" character from it to the format string\r\n Also add libbpf-tools/tcptop_example.txt documenting the example.\r\n\r\nSigned-off-by: Bernhard Kaindl ","shortMessageHtmlLink":"libbpf tcptop: Fix PID column alignment when pids are large (#5004)"}},{"before":"01bd3e4b37e5433d100c91bb2030d3e19aead516","after":"5bc97bbc50b1ccf0c63f320ee73a2c0abe84b596","ref":"refs/heads/master","pushedAt":"2024-05-17T13:36:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"clang: fail when the kheaders ownership is wrong (#4928) (#4985)\n\nfile_exists_and_ownedby() returns -1 when the file exists but its\r\nownership is unexpected, which is very misleading since anything non\r\nzero is interpreted as true and a function with such a name is\r\nexpected to return a boolean. So currently all this does, is write a\r\nwarning message, and continues as if nothing is wrong.\r\n\r\nMake file_exists_and_ownedby() returns false when the ownership is\r\nwrong and have get_proc_kheaders() fails when this happen. Also have\r\nall the *exists* functions return bool to avoid such issues in the\r\nfuture.\r\n\r\nSigned-off-by: Jerome Marchand ","shortMessageHtmlLink":"clang: fail when the kheaders ownership is wrong (#4928) (#4985)"}},{"before":"aa5ae41bb1a0c932bf2b78fe1a83e4fe0a71115f","after":"01bd3e4b37e5433d100c91bb2030d3e19aead516","ref":"refs/heads/master","pushedAt":"2024-05-10T03:45:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"{libbpf-tools,tools}/vfsstat: Add unlink,mkdir,rmdir stat (#4995)\n\nThe program counts OPEN and CREATE, so UNLINK statistics are very valuable.\r\nAt the same time, statistics on folder creation and deletion are added.\r\n\r\nTest MKDIR/RMDIR:\r\n\r\n $ while :; do mkdir a.dir && rmdir a.dir; done\r\n\r\nTest UNLINK:\r\n\r\n $ while :; do touch a.out && rm a.out; done\r\n\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"{libbpf-tools,tools}/vfsstat: Add unlink,mkdir,rmdir stat (#4995)"}},{"before":"396053980e857d9d1e7a73e9bd36a378777ce2f4","after":"aa5ae41bb1a0c932bf2b78fe1a83e4fe0a71115f","ref":"refs/heads/master","pushedAt":"2024-05-09T02:40:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Fix GitHub actions deprecation warning notices (#4994)\n\nThis should fix the GitHub actions deprecation warning notices that are shown on the GitHub actions summary page.\r\n\r\nSigned-off-by: Bernhard Kaindl ","shortMessageHtmlLink":"Fix GitHub actions deprecation warning notices (#4994)"}},{"before":"24474115dd699525ae453b0caa438397c74d2b4a","after":"396053980e857d9d1e7a73e9bd36a378777ce2f4","ref":"refs/heads/master","pushedAt":"2024-05-09T02:30:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Fix usdt_sample prerequisite list (#4992)\n\nInstall python3-setuptools is missing a p, so fix.\r\n\r\nSigned-off-by: Ben Dooks ","shortMessageHtmlLink":"Fix usdt_sample prerequisite list (#4992)"}},{"before":"115052375041a599dccb75b9164cdd4adf6054ce","after":"24474115dd699525ae453b0caa438397c74d2b4a","ref":"refs/heads/master","pushedAt":"2024-05-09T02:14:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"libbpf-tools/syscount: Fix incorrect errno usage (#4991)\n\nIn read_vals_batch function, the errno set by bpf_map_lookup_and_delete_batch()\r\nmay change if the next warn() fails. So the errno of read_vals:240 may be\r\nincorrect.\r\n\r\nbpf_map_lookup_and_delete_batch() already returns errno with a minus added on\r\nfailure, so used the return value instead of errno.","shortMessageHtmlLink":"libbpf-tools/syscount: Fix incorrect errno usage (#4991)"}},{"before":"07e31028cb0a9deb89d5f6457d0ac56693092931","after":"115052375041a599dccb75b9164cdd4adf6054ce","ref":"refs/heads/master","pushedAt":"2024-05-09T01:19:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"tools/memleak: Fix the data error caused by the same key in map (#4970)\n\nFollowings are the way to generate data error issue and the result after applying this patch.\r\n\r\nFile test.cpp\r\n\r\n #include \r\n #include \r\n #include \r\n\r\n void alloc() {\r\n for (int i = 0; i < 100000; ++i) {\r\n int* a = (int*)malloc(4);\r\n }\r\n }\r\n\r\n int main() {\r\n sleep(100);\r\n std::thread t1 {&alloc};\r\n std::thread t2 {&alloc};\r\n t1.join();\r\n t2.join();\r\n sleep(50);\r\n return 0;\r\n }\r\n\r\nBuild the test file\r\n\r\n $ g++ -g -o test -lpthread test.cpp\r\n\r\nRun this with --combined-only:\r\n\r\nsudo ./memleak.py -c ./test --combined-only\r\nExecuting './test' and tracing the resulting process.\r\nAttaching to pid 194273, Ctrl+C to quit.\r\n[23:36:43] Top 10 stacks with outstanding allocations:\r\n 576 bytes in 2 allocations from stack\r\n __GI__dl_allocate_tls+0x2c [ld-2.28.so]\r\n 799992 bytes in 199998 allocations from stack\r\n alloc()+0x22 [test]\r\n void std::__invoke_impl(std::__invoke_other, void (*&&)())+0x1d [test]\r\n std::__invoke_result::type std::__invoke(void (*&&)())+0x20 [test]\r\n decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker >::_M_invoke<0ul>(std::_Index_tuple<0ul>)+0x28 [test]\r\n std::thread::_Invoker >::operator()()+0x18 [test]\r\n std::thread::_State_impl > >::_M_run()+0x1c [test]\r\n [unknown] [libstdc++.so.6.0.25]\r\n 8392704 bytes in 1 allocations from stack\r\n pthread_create+0x893 [libpthread-2.28.so]\r\n std::thread::_M_start_thread(std::unique_ptr >, void (*)())+0x19 [libstdc++.so.6.0.25]\r\n main+0x49 [test]\r\n __libc_start_main+0xf3 [libc-2.28.so]\r\n [unknown]\r\n 8392704 bytes in 1 allocations from stack\r\n pthread_create+0x893 [libpthread-2.28.so]\r\n std::thread::_M_start_thread(std::unique_ptr >, void (*)())+0x19 [libstdc++.so.6.0.25]\r\n main+0x2e [test]\r\n __libc_start_main+0xf3 [libc-2.28.so]\r\n [unknown]\r\n 134217728 bytes in 1 allocations from stack\r\n new_heap+0xa7 [libc-2.28.so]\r\n\r\nProblem:\r\nWe can see 799992 bytes alloced in 199998 allocations from stack while when we read the code, we will find that there should be 800000 bytes alloced in 200000 allocations.\r\n\r\nReason:\r\nAfter Tracing, we can find that `malloc()` may call `mmap()`, so there will be two continuous call of `gen_alloc_enter(struct pt_regs *ctx, size_t size)` in a same process.\r\nFor example, in our `test` process, when it first call `int* a = (int*)malloc(4);`, `gen_alloc_enter(struct pt_regs *ctx, size_t size)` will be called, and there will be a\r\npair of data in BPF_HASH sizes; then a `mmap()` will be called, also `gen_alloc_enter(struct pt_regs *ctx, size_t size)` be called, which make change into\r\n. This will make the call of `gen_alloc_exit()` for the first `malloc()` will return early because the `tid` key will be deleted after the call of\r\n`gen_alloc_exit()` caused by `mmap()`, which finally cause data error.\r\n\r\nThe callchain:\r\nmalloc()->gen_alloc_enter()->mmap()->gen_alloc_enter()->mmap_return()->gen_alloc_exit()->malloc_return()->gen_alloc_exit();\r\n\r\nSolution:\r\nWe can add type_index to help distinguish calling sources and reduce key conflicts.\r\n\r\nAfter Applying this patch, run memleak.py with --combined-only:\r\n\r\nsudo ./memleak.py -c ./test --combined-only\r\nExecuting './test' and tracing the resulting process.\r\nAttaching to pid 194659, Ctrl+C to quit.\r\n[23:37:16] Top 10 stacks with outstanding allocations:\r\n 576 bytes in 2 allocations from stack\r\n __GI__dl_allocate_tls+0x2c [ld-2.28.so]\r\n 800000 bytes in 200000 allocations from stack\r\n alloc()+0x22 [test]\r\n void std::__invoke_impl(std::__invoke_other, void (*&&)())+0x1d [test]\r\n std::__invoke_result::type std::__invoke(void (*&&)())+0x20 [test]\r\n decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker >::_M_invoke<0ul>(std::_Index_tuple<0ul>)+0x28 [test]\r\n std::thread::_Invoker >::operator()()+0x18 [test]\r\n std::thread::_State_impl > >::_M_run()+0x1c [test]\r\n [unknown] [libstdc++.so.6.0.25]\r\n 8392704 bytes in 1 allocations from stack\r\n pthread_create+0x893 [libpthread-2.28.so]\r\n std::thread::_M_start_thread(std::unique_ptr >, void (*)())+0x19 [libstdc++.so.6.0.25]\r\n main+0x49 [test]\r\n __libc_start_main+0xf3 [libc-2.28.so]\r\n [unknown]\r\n 8392704 bytes in 1 allocations from stack\r\n pthread_create+0x893 [libpthread-2.28.so]\r\n std::thread::_M_start_thread(std::unique_ptr >, void (*)())+0x19 [libstdc++.so.6.0.25]\r\n main+0x2e [test]\r\n __libc_start_main+0xf3 [libc-2.28.so]\r\n [unknown]\r\n 134217728 bytes in 1 allocations from stack\r\n new_heap+0xa7 [libc-2.28.so]","shortMessageHtmlLink":"tools/memleak: Fix the data error caused by the same key in map (#4970)"}},{"before":"eb7cdd28a45e48d9318b0cb3f35d1bb6f01a6611","after":"07e31028cb0a9deb89d5f6457d0ac56693092931","ref":"refs/heads/master","pushedAt":"2024-05-08T16:06:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Add support for bcachefs to fsdist and fsslower tools (#4989)\n\nAdd support for bcachefs to fsdist and fsslower tools.\r\n\r\n$ sudo ./bcachefsdist \r\nTracing bcachefs operation latency... Hit Ctrl-C to end.\r\n^C\r\noperation = 'read'\r\n usecs : count distribution\r\n 0 -> 1 : 1 | |\r\n 2 -> 3 : 0 | |\r\n 4 -> 7 : 0 | |\r\n 8 -> 15 : 2359 |****************************************|\r\n 16 -> 31 : 453 |******* |\r\n 32 -> 63 : 42 | |\r\n 64 -> 127 : 1 | |\r\n\r\noperation = 'write'\r\n usecs : count distribution\r\n 0 -> 1 : 0 | |\r\n 2 -> 3 : 0 | |\r\n 4 -> 7 : 0 | |\r\n 8 -> 15 : 0 | |\r\n 16 -> 31 : 2681 |****************************************|\r\n 32 -> 63 : 89 |* |\r\n 64 -> 127 : 41 | |\r\n 128 -> 255 : 11 | |\r\n 256 -> 511 : 0 | |\r\n 512 -> 1023 : 0 | |\r\n 1024 -> 2047 : 0 | |\r\n 2048 -> 4095 : 0 | |\r\n 4096 -> 8191 : 1 | |\r\n 8192 -> 16383 : 11 | |\r\n 16384 -> 32767 : 4 | |\r\n\r\noperation = 'open'\r\n usecs : count distribution\r\n 0 -> 1 : 3 |****************************************|\r\n 2 -> 3 : 1 |************* |\r\n\r\noperation = 'getattr'\r\n usecs : count distribution\r\n 0 -> 1 : 26 |****************************************|\r\n\r\n$ sudo ./bcachefsslower \r\nTracing bcachefs operations slower than 10 ms... Hit Ctrl-C to end.\r\nTIME COMM PID T BYTES OFF_KB LAT(ms) FILENAME\r\n11:07:15 cp 229441 W 131072 346112 10.02 vmlinux1\r\n11:07:15 cp 229441 W 131072 347136 20.66 vmlinux1\r\n\r\nSigned-off-by: Youling Tang ","shortMessageHtmlLink":"Add support for bcachefs to fsdist and fsslower tools (#4989)"}},{"before":"77c05910b1be96467547904c837da9eab7b775a5","after":"eb7cdd28a45e48d9318b0cb3f35d1bb6f01a6611","ref":"refs/heads/master","pushedAt":"2024-05-08T15:47:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Sync with latest libbpf repo (#4993)\n\nThe top sync commit is:\r\n e05542003381 sync: Commit .mailmap changes from script when sync-ing repo\r\n\r\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Sync with latest libbpf repo (#4993)"}},{"before":"e1bc8d8a7fc293fbceb3368868390179568045b4","after":"a8d71f44bb63607506cb046097d352596d7e834c","ref":"refs/heads/yhs_dev","pushedAt":"2024-05-08T15:32:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Sync with latest libbpf repo\n\nThe top sync commit is:\n e05542003381 sync: Commit .mailmap changes from script when sync-ing repo\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Sync with latest libbpf repo"}},{"before":"5732808cbe4d08c36a6164c6997ba51a29b1022f","after":"e1bc8d8a7fc293fbceb3368868390179568045b4","ref":"refs/heads/yhs_dev","pushedAt":"2024-05-08T15:06:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Sync with latest libbpf repo\n\nThe top sync commit is:\n e05542003381 sync: Commit .mailmap changes from script when sync-ing repo\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Sync with latest libbpf repo"}},{"before":"fef9003e2e2f29c893543d49b762dd413a352f05","after":"77c05910b1be96467547904c837da9eab7b775a5","ref":"refs/heads/master","pushedAt":"2024-05-07T20:34:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"profile.py: On pre-5.7 kernels, skip pid ns mapping (fallback) (#4974)\n\nbpf_get_ns_current_pid_tgid() is not available before Linux 5.7:\r\n\r\nWhen the kernel is prior to 5.7, skip pid namespace translation,\r\nas bpf_get_ns_current_pid_tgid() would not be available then.\r\n\r\nSigned-off-by: Bernhard Kaindl ","shortMessageHtmlLink":"profile.py: On pre-5.7 kernels, skip pid ns mapping (fallback) (#4974)"}},{"before":"74fe7200ffb1d991c4e839f184c705f0a45006d9","after":"fef9003e2e2f29c893543d49b762dd413a352f05","ref":"refs/heads/master","pushedAt":"2024-05-02T00:17:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenhengqi","name":"Hengqi Chen","path":"/chenhengqi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4277743?s=80&v=4"},"commit":{"message":"libbpf-tools/trace_helpers: Fix incorrect DSO information in stacktrace\n\noffcputime may display inaccurate DSO information in the stacktrace.\nHere's an example of the issue:\n\nIt shows the same DSO offset for different addresses, which is incorrect.\n $ ./offcputime -v\n ..\n #14 0x00007f8b912a8c (/usr/lib/libcbe.so_0x22afa8c)\n #15 0x000044000a3ee0 (/usr/lib/libcbe.so_0x22afa8c)\n #16 0x000044001fc56c (/usr/lib/libcbe.so_0x22afa8c)\n\nThis is why syms__map_addr_dso simply returns NULL when syms__find_dso also\nreturns NULL. In that case, the values of dso_name and dso_offset are not\nchanged. If the dso_name and dso_offset variables have a garbage value before\ncalling syms__map_addr_dso, those garbage values are maintained after calling\nsyms__map_addr_dso.\n\nTo ensure consistent usage of DSO info and symbol info, the prototype of\nsyms__map_addr_dso has been modified to be similar to dladdr[1].\n\nThis is the prototype of dladdr:\n int dladdr(void *addr, Dl_info *info);\n\nThe information is returned in a Dl_info structure. If no symbol matching addr\ncould be found, then dli_sname and dli_saddr are set to NULL.\n typedef struct {\n const char *dli_fname; /* Pathname of shared object that\n contains address */\n void *dli_fbase; /* Base address at which shared\n object is loaded */\n const char *dli_sname; /* Name of symbol whose definition\n overlaps addr */\n void *dli_saddr; /* Exact address of symbol named\n in dli_sname */\n } Dl_info;\n\nSimilarly, if no symbol matching the addr could be found, then sym_name and\nsym_offset are set to NULL in syms__map_addr_dso of this patch.\n\nAlso, apply the modified API usage to offcputime, futexctn, and memleak.\n\n[1] https://man7.org/linux/man-pages/man3/dladdr.3.html","shortMessageHtmlLink":"libbpf-tools/trace_helpers: Fix incorrect DSO information in stacktrace"}},{"before":"679166bdee74302b46b14c3a8fe5c3db7198d3f4","after":"74fe7200ffb1d991c4e839f184c705f0a45006d9","ref":"refs/heads/master","pushedAt":"2024-04-30T18:57:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"libbpf-tools: enforce missing-field-initializers warning and error on warnings (#4975)\n\nIn an internal build where `missing-field-initializers` would be enforce,\r\nlibbpf-tools would fail to build with an error similar to:\r\n```\r\ntcptop.c:75:9: error: missing initializer for field 'group' of 'const struct argp_option' [-Werror=missing-field-initializers]\r\n 75 | { \"nosummary\", 'S', NULL, 0, \"Skip system summary line\"},\r\n | ^\r\nIn file included from tcptop.c:10:\r\n/usr/include/argp.h:73:7: note: 'group' declared here\r\n 73 | int group;\r\n | ^~~~~\r\n```\r\n\r\nThis change tacks the default group value of 0 to all `struct argp_option` used\r\nin libbpf-tools.\r\n\r\nAt the same time, I am taking the opportunity to promote warnings to error\r\nin order to prevent regressions from making it in.\r\n\r\nSigned-off-by: Manu Bretelle ","shortMessageHtmlLink":"libbpf-tools: enforce missing-field-initializers warning and error on…"}},{"before":"c50db02860b6e4ca01eee7de767ab2c31133bd87","after":"679166bdee74302b46b14c3a8fe5c3db7198d3f4","ref":"refs/heads/master","pushedAt":"2024-04-15T22:26:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"libbpf-tools/numamove: Add folio support (#4955)\n\nIn [0] kernel commit 73eab3ca481e (\"mm: migrate: convert migrate_misplaced_page()\r\nto migrate_misplaced_folio()\") convert migrate_misplaced_page() to\r\nmigrate_misplaced_folio().\r\n\r\nKernel version:\r\n\r\n $ git describe 73eab3ca481e5be0f1fd8140365d604482f84ee1\r\n v6.6-rc4-109-g73eab3ca481e\r\n\r\n[0] https://github.com/torvalds/linux/commit/73eab3ca481e\r\n\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"libbpf-tools/numamove: Add folio support (#4955)"}},{"before":"c0e9b562675bcd18eff9443af4e0d2cc55e38738","after":"c50db02860b6e4ca01eee7de767ab2c31133bd87","ref":"refs/heads/master","pushedAt":"2024-04-15T20:52:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"*.py: fix incorrect regex escaping (#4961)\n\nFixes #4959","shortMessageHtmlLink":"*.py: fix incorrect regex escaping (#4961)"}},{"before":"a0ca636cfe0f99ef986525a8d6e2ed24614491f1","after":"c0e9b562675bcd18eff9443af4e0d2cc55e38738","ref":"refs/heads/master","pushedAt":"2024-04-11T01:59:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenhengqi","name":"Hengqi Chen","path":"/chenhengqi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4277743?s=80&v=4"},"commit":{"message":"libbpf-tools: add CO-RE 'syncsnoop'\n\nThis is a CO-RE port of the Brendan Gregg's syncsnoop BCC Python tool.\nThe code is heavily inspired by the 'runqslower' port, with variables\nnaming and comments style borrowed from other CO-RE tools.","shortMessageHtmlLink":"libbpf-tools: add CO-RE 'syncsnoop'"}},{"before":"82867366687792332c7e28a7b4593f4bd467bf8d","after":"a0ca636cfe0f99ef986525a8d6e2ed24614491f1","ref":"refs/heads/master","pushedAt":"2024-04-10T01:52:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenhengqi","name":"Hengqi Chen","path":"/chenhengqi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4277743?s=80&v=4"},"commit":{"message":"INSTALL.md: Add Ubuntu 23.10 (Mantic Minotaur) packages","shortMessageHtmlLink":"INSTALL.md: Add Ubuntu 23.10 (Mantic Minotaur) packages"}},{"before":"41fdca27a1e7f057608bfb4cb1ad5a96ee3cfe9f","after":"82867366687792332c7e28a7b4593f4bd467bf8d","ref":"refs/heads/master","pushedAt":"2024-04-10T01:51:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenhengqi","name":"Hengqi Chen","path":"/chenhengqi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4277743?s=80&v=4"},"commit":{"message":"libbpf-tools: Use `BPF_U[RET]PROBE` for uprobes","shortMessageHtmlLink":"libbpf-tools: Use BPF_U[RET]PROBE for uprobes"}},{"before":"6a5602cef2ebd97c351554d53a4f95532db6a568","after":"41fdca27a1e7f057608bfb4cb1ad5a96ee3cfe9f","ref":"refs/heads/master","pushedAt":"2024-04-10T01:45:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenhengqi","name":"Hengqi Chen","path":"/chenhengqi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4277743?s=80&v=4"},"commit":{"message":"docs: Fix typo","shortMessageHtmlLink":"docs: Fix typo"}},{"before":"5e408a4b326d76817590a9664f55f28853410f74","after":"6a5602cef2ebd97c351554d53a4f95532db6a568","ref":"refs/heads/master","pushedAt":"2024-04-02T00:00:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"fix zfsslower check for zpl_read / zpl_iter (fixes #4952) (#4953)\n\n* fix zfsslower/zfsdist check for zpl_read / zpl_iter (fixes #4952)\r\n\r\nThis fixes a regression of #1248: The original fix #1324 assumed that\r\nBPF.get_kprobe_functions checks the given regex against any substring of\r\nthe function name, but 2b203ea later changed get_kprobe_functions to do\r\nre.fullmatch instead.\r\n\r\nzfsdist was also not updated since\r\nhttps://github.com/iovisor/bcc/commit/2b203ea20d5db4d36e16c07592eb8cc5e919e46c\r\nand it the get_kprobe_functions seem to originate from the same\r\ncommit as those in zfsslower. So I assume the intend is the same.\r\n\r\nCo-authored-by: seb314 ","shortMessageHtmlLink":"fix zfsslower check for zpl_read / zpl_iter (fixes #4952) (#4953)"}},{"before":"947bd741c5d454e52b2426c964325168a8b98263","after":"5e408a4b326d76817590a9664f55f28853410f74","ref":"refs/heads/master","pushedAt":"2024-04-01T22:15:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Workround flaky subtest 'offaketime.py 1' in test_tools_smoke.py (#4954)\n\nI observed frequent failure for the following test:\r\n\r\n FAIL: test_offwaketime (__main__.SmokeTests.test_offwaketime)\r\n ----------------------------------------------------------------------\r\n Traceback (most recent call last):\r\n File \"/bcc/tests/python/test_tools_smoke.py\", line 275, in test_offwaketime\r\n self.run_with_duration(\"offwaketime.py 1\")\r\n File \"/bcc/tests/python/test_tools_smoke.py\", line 40, in run_with_duration\r\n self.assertEqual(0, # clean exit\r\n AssertionError: 0 != 1\r\n\r\nThe reason is that 'offwaketime.py' may need more time to dump\r\nresults after 1 second of stack collection. Increase timeout to 30\r\nseconds to tolerate potential long delays.\r\n\r\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Workround flaky subtest 'offaketime.py 1' in test_tools_smoke.py (#4954)"}},{"before":"beee3ca27b0aea45b61924daf03cae1154194438","after":"5732808cbe4d08c36a6164c6997ba51a29b1022f","ref":"refs/heads/yhs_dev","pushedAt":"2024-04-01T21:27:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"Workround flaky subtest 'offaketime.py 1' in test_tools_smoke.py\n\nI observed frequent failure for the following test:\n\n FAIL: test_offwaketime (__main__.SmokeTests.test_offwaketime)\n ----------------------------------------------------------------------\n Traceback (most recent call last):\n File \"/bcc/tests/python/test_tools_smoke.py\", line 275, in test_offwaketime\n self.run_with_duration(\"offwaketime.py 1\")\n File \"/bcc/tests/python/test_tools_smoke.py\", line 40, in run_with_duration\n self.assertEqual(0, # clean exit\n AssertionError: 0 != 1\n\nThe reason is that 'offwaketime.py' may need more time to dump\nresults after 1 second of stack collection. Increase timeout to 30\nseconds to tolerate potential long delays.\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Workround flaky subtest 'offaketime.py 1' in test_tools_smoke.py"}},{"before":"82bfd09dc993ce23a411e19751100da44b66e204","after":"947bd741c5d454e52b2426c964325168a8b98263","ref":"refs/heads/master","pushedAt":"2024-04-01T03:58:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yonghong-song","name":null,"path":"/yonghong-song","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12237474?s=80&v=4"},"commit":{"message":"tools/{biolatency,biosnoop,biotop}: Use tracepoint first (#4950)\n\nSince kernel introduce block:block_io_{start,done}, we should use tracepoint\r\nfirst, just like the follow error i got on Fedora 39\r\n\r\n $ sudo ./biolatency.py\r\n ...\r\n cannot attach kprobe, Invalid argument\r\n Traceback (most recent call last):\r\n File \"/home/sda/git-repos/bcc/tools/./biolatency.py\", line 291, in \r\n b.attach_kprobe(event=\"blk_account_io_done\", fn_name=\"trace_req_done\")\r\n File \"/usr/lib/python3.12/site-packages/bcc/__init__.py\", line 845, in attach_kprobe\r\n raise Exception(\"Failed to attach BPF program %s to kprobe %s\"\r\n Exception: Failed to attach BPF program b'trace_req_done' to kprobe b'blk_account_io_done',\r\n it's not traceable (either non-existing, inlined, or marked as \"notrace\")\r\n\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"tools/{biolatency,biosnoop,biotop}: Use tracepoint first (#4950)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWDHuQgA","startCursor":null,"endCursor":null}},"title":"Activity · iovisor/bcc"}