{"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":"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)"}},{"before":"e7109fa0f17bdda4de0a7f05b03f563ead0150f4","after":"82bfd09dc993ce23a411e19751100da44b66e204","ref":"refs/heads/master","pushedAt":"2024-03-25T11:55:31.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: Support memleak trace third-part allocators\n\nMemleak run failed when trace task who use jemalloc, and luckly i see it\nfixed in memleak.py: https://github.com/iovisor/bcc/pull/4812/files, so\nwe can also support on c version.\n\ncompile jemalloc with \"je_\" prefix:\n./configure --with-jemalloc-prefix=je_\n\njemalloc test case:\n #include \n #include \n #include \n #include \n\n #define malloc(size) je_malloc(size)\n #define free(ptr) je_free(ptr)\n int main(void)\n {\n for (int i = 0; i < 100; i++) {\n void *p = malloc(1000);\n sleep(1);\n }\n return 0;\n }\ngcc -o alloc alloc.c -ljemalloc\n\ntest result:\nsudo ./memleak -p $(pidof alloc) -O /usr/local/lib/libjemalloc.so -S je_\n\nlibbpf: elf: ambiguous match for 'mmap@GLIBC_2.2.5', 'mmap' in '/usr/local/lib/libjemalloc.so'\nlibbpf: elf: ambiguous match for 'mmap@GLIBC_2.2.5', 'mmap' in '/usr/local/lib/libjemalloc.so'\nlibbpf: elf: ambiguous match for 'munmap@GLIBC_2.2.5', 'munmap' in '/usr/local/lib/libjemalloc.so'\nlibbpf: elf: failed to find symbol 'pvalloc' in '/usr/local/lib/libjemalloc.so'\nlibbpf: elf: failed to find symbol 'pvalloc' in '/usr/local/lib/libjemalloc.so'\nTracing outstanding memory allocs... Hit Ctrl-C to end\n[15:12:34] Top 1 stacks with outstanding allocations:\n5000 bytes in 5 allocations from stack\n 0 [<00005584f3217188>] main+0x1f\n 1 [<00007fe897617d90>] __libc_init_first+0x90\n[15:12:39] Top 1 stacks with outstanding allocations:\n10000 bytes in 10 allocations from stack\n 0 [<00005584f3217188>] main+0x1f\n 1 [<00007fe897617d90>] __libc_init_first+0x90\n\nSigned-off-by: Tao Chen ","shortMessageHtmlLink":"libbpf-tools: Support memleak trace third-part allocators"}},{"before":"5f21a72744fadca8624f4884936cb2a62cc30b8c","after":"e7109fa0f17bdda4de0a7f05b03f563ead0150f4","ref":"refs/heads/master","pushedAt":"2024-03-24T23:29:40.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":"Update debian changelog for release v0.30.0 (#4947)\n\n* Support for kernel up to 6.8.\r\n * Set minimum supported llvm version to 12, and add llvm17 test.\r\n * Add workqueue latency observation tool.\r\n * libbpf tool update: f2fsslower, opensnoop, futexctn, bindsnoop, ksnoop, klockstat, offcputime, etc.\r\n * bcc tool update: memleak, ttysnoop, bashreadline, tcpdrop, execsnoop, etc.\r\n * allow more flexible perf event options with new perf_custom_event_open() python API.\r\n * Fix userspace stack unwinding on powerpc.\r\n * add bpf_prog_test_run_opts() python API.\r\n * several deb package related changes.\r\n * Fix btf_type_tag issue with llvm 15.\r\n * Fix several flaky tests.\r\n * classify tools into different sub-categories.\r\n * doc update, other bug fixes and tools improvement.\r\n\r\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Update debian changelog for release v0.30.0 (#4947)"}},{"before":"a5a46f9af9791a04155e07e22978301f356dd54d","after":"beee3ca27b0aea45b61924daf03cae1154194438","ref":"refs/heads/yhs_dev","pushedAt":"2024-03-24T23:07:46.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":"Update debian changelog for release v0.30.0\n\n * Support for kernel up to 6.8.\n * Set minimum supported llvm version to 12, and add llvm17 test.\n * Add workqueue latency observation tool.\n * libbpf tool update: f2fsslower, opensnoop, futexctn, bindsnoop, ksnoop, klockstat, offcputime, etc.\n * bcc tool update: memleak, ttysnoop, bashreadline, tcpdrop, execsnoop, etc.\n * allow more flexible perf event options with new perf_custom_event_open() python API.\n * Fix userspace stack unwinding on powerpc.\n * add bpf_prog_test_run_opts() python API.\n * several deb package related changes.\n * Fix btf_type_tag issue with llvm 15.\n * Fix several flaky tests.\n * classify tools into different sub-categories.\n * doc update, other bug fixes and tools improvement.\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Update debian changelog for release v0.30.0"}},{"before":"cb972b994364abe55b66c4bbe022db56f610fcbe","after":"5f21a72744fadca8624f4884936cb2a62cc30b8c","ref":"refs/heads/master","pushedAt":"2024-03-22T18:03:48.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/gethostlatency: correct section name (#4944)\n\n\r\n\r\nhandle_entry and handle_return are attached to uprobes getaddrinfo, gethostbyname, and gethostbyname2, so it doesn't make sense to have the section name be kprobe","shortMessageHtmlLink":"libbpf-tools/gethostlatency: correct section name (#4944)"}},{"before":"ba1041de673db0998e410541f9d25f480b59f6af","after":"cb972b994364abe55b66c4bbe022db56f610fcbe","ref":"refs/heads/master","pushedAt":"2024-03-22T18:01:11.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":"Reomove \"-nopie\" option workaround for old clang. (#4945)\n\nfix: https://github.com/iovisor/bcc/issues/4931","shortMessageHtmlLink":"Reomove \"-nopie\" option workaround for old clang. (#4945)"}},{"before":"487331fe544a70d6dcd9e40ff106be75d46475cd","after":"ba1041de673db0998e410541f9d25f480b59f6af","ref":"refs/heads/master","pushedAt":"2024-03-22T17:55: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":"fix deb build/docker ubuntu (#4943)\n\n* add missing trailing comma\r\n* add missing ubuntu dpkg dependency","shortMessageHtmlLink":"fix deb build/docker ubuntu (#4943)"}},{"before":"6fbcf16b4a4222b2ea92ea32ceed2532a28b8080","after":"487331fe544a70d6dcd9e40ff106be75d46475cd","ref":"refs/heads/master","pushedAt":"2024-03-19T00:31:23.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":"Mark slabratetop.py not supported for >= 6.8 kernel\n\nslabratetop.py failed with 6.8 kernel with\n\n /virtual/main.c:100:10: fatal error: 'linux/slub_def.h' file not found\n 100 | #include \n | ^~~~~~~~~~~~~~~~~~\n 1 error generated.\n\nActually 'kmem_cache' is also not available to bcc any more.\nEither copying 'kmem_cache' or using mini-CORE like logic\nare too complex and error prone ([1]). So let us mark\nthe tool is not supported for >= 6.8 kernel and suggest\nto use libbpf-tool version of slabratetop if needed.\n\n [1]. https://github.com/iovisor/bcc/pull/4940\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Mark slabratetop.py not supported for >= 6.8 kernel"}},{"before":"e0a1cd62069c02b32efe2c9fa5e93256475c3d97","after":"a5a46f9af9791a04155e07e22978301f356dd54d","ref":"refs/heads/yhs_dev","pushedAt":"2024-03-18T17:18:52.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":"Mark slabratetop.py not supported for >= 6.8 kernel\n\nslabratetop.py failed with 6.8 kernel with\n\n /virtual/main.c:100:10: fatal error: 'linux/slub_def.h' file not found\n 100 | #include \n | ^~~~~~~~~~~~~~~~~~\n 1 error generated.\n\nActually 'kmem_cache' is also not available to bcc any more.\nEither copying 'kmem_cache' or using mini-CORE like logic\nare too complex and error prone ([1]). So let us mark\nthe tool is not supported for >= 6.8 kernel and suggest\nto use libbpf-tool version of slabratetop if needed.\n\n [1]. https://github.com/iovisor/bcc/pull/4940\n\nSigned-off-by: Yonghong Song ","shortMessageHtmlLink":"Mark slabratetop.py not supported for >= 6.8 kernel"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERjKZxwA","startCursor":null,"endCursor":null}},"title":"Activity · iovisor/bcc"}