<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><meta charset="UTF-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">On 14-Dec-2022, at 9:21 PM, Arnaldo Carvalho de Melo <<a href="mailto:acme@kernel.org" class="">acme@kernel.org</a>> wrote:<br class=""><br class="">Em Tue, Dec 13, 2022 at 03:21:03PM +0530, Athira Rajeev escreveu:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On 13-Dec-2022, at 12:27 AM, Arnaldo Carvalho de Melo <<a href="mailto:acme@kernel.org" class="">acme@kernel.org</a>> wrote:<br class="">Em Thu, Nov 03, 2022 at 12:27:01PM +0530, Athira Rajeev escreveu:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On 28-Oct-2022, at 9:12 PM, Kajol Jain <<a href="mailto:kjain@linux.ibm.com" class="">kjain@linux.ibm.com</a>> wrote:<br class=""><br class="">Perf BPF filter test fails in environment where "kernel-debuginfo"<br class="">is not installed.<br class=""><br class="">Test failure logs:<br class=""><<>><br class="">42: BPF filter                            :<br class="">42.1: Basic BPF filtering                 : Ok<br class="">42.2: BPF pinning                         : Ok<br class="">42.3: BPF prologue generation             : FAILED!<br class=""><<>><br class=""><br class="">Enabling verbose option provided debug logs, which says debuginfo<br class="">needs to be installed. Snippet of verbose logs:<br class=""><br class=""><<>><br class="">42.3: BPF prologue generation                                       :<br class="">--- start ---<br class="">test child forked, pid 28218<br class=""><<>><br class="">Rebuild with CONFIG_DEBUG_INFO=y, or install an appropriate debuginfo<br class="">package.<br class="">bpf_probe: failed to convert perf probe events<br class="">Failed to add events selected by BPF<br class="">test child finished with -1<br class="">---- end ----<br class="">BPF filter subtest 3: FAILED!<br class=""><<>><br class=""><br class="">Here subtest, "BPF prologue generation" failed and<br class="">logs shows debuginfo is needed. After installing<br class="">kernel-debuginfo package, testcase passes.<br class=""><br class="">Subtest "BPF prologue generation" failed because, the "do_test"<br class="">function returns "TEST_FAIL" without checking the error type<br class="">returned by "parse_events_load_bpf_obj" function.<br class="">Function parse_events_load_bpf_obj can also return error of type<br class="">"-ENOENT" incase kernel-debuginfo package is not installed. Fix this<br class="">by adding check for -ENOENT error.<br class=""><br class="">Test result after the patch changes:<br class=""><br class="">Test failure logs:<br class=""><<>><br class="">42: BPF filter                 :<br class="">42.1: Basic BPF filtering      : Ok<br class="">42.2: BPF pinning              : Ok<br class="">42.3: BPF prologue generation  : Skip (clang/debuginfo isn't<br class="">installed or environment missing BPF support)<br class=""><br class="">Fixes: ba1fae431e74bb42 ("perf test: Add 'perf test BPF'")<br class="">Signed-off-by: Kajol Jain <<a href="mailto:kjain@linux.ibm.com" class="">kjain@linux.ibm.com</a>><br class="">Reviewed-by: Madhavan Srinivasan <<a href="mailto:maddy@linux.ibm.com" class="">maddy@linux.ibm.com</a>><br class="">---<br class="">tools/perf/tests/bpf.c | 6 +++++-<br class="">1 file changed, 5 insertions(+), 1 deletion(-)<br class=""><br class="">diff --git a/tools/perf/tests/bpf.c b/tools/perf/tests/bpf.c<br class="">index 17c023823713..57cecadc1da2 100644<br class="">--- a/tools/perf/tests/bpf.c<br class="">+++ b/tools/perf/tests/bpf.c<br class="">@@ -126,6 +126,10 @@ static int do_test(struct bpf_object *obj, int (*func)(void),<br class=""><br class=""><span class="Apple-tab-span" style="white-space: pre;">      </span>err = parse_events_load_bpf_obj(&parse_state, &parse_state.list, obj, NULL);<br class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>parse_events_error__exit(&parse_error);<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span>if (err == -ENOENT) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span>pr_debug("Failed to add events selected by BPF, debuginfo package not installed\n");<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span>return TEST_SKIP;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>}<br class=""></blockquote><br class="">Hi Kajol,<br class=""><br class="">Here, you have used ENOENT to skip the test. But there could be other places in the code path for “parse_events_load_bpf_obj”<br class="">which also returns ENOENT. In that case, for any exit that returns ENOENT, test will get skipped.<br class=""><br class="">Can we look at the logs, example we have this in commit logs:<br class=""><br class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>Rebuild with CONFIG_DEBUG_INFO=y, or install an appropriate debuginfo<br class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>package.<br class=""><br class="">so as to decide whether to skip for debug info ?<br class=""></blockquote><br class="">Kajol?<br class=""></blockquote></blockquote><br class=""><blockquote type="cite" class="">Hi Arnaldo, looking for your suggestion on how to handle the case where debuginfo is missing.<br class=""></blockquote><br class=""><blockquote type="cite" class="">Here the bpf test fails because of missing debuginfo. The function<br class="">which goes through the debuginfo check is "parse_events_load_bpf_obj"<br class="">. parse_events_load_bpf_obj internally calls "open_debuginfo" which<br class="">returns ENOENT when debuginfo is missing. The patch fix from Kajol is<br class="">to skip the test using error code ENOENT for debuginfo.<br class=""></blockquote><br class="">Lets see:<br class=""><br class="">root@roc-rk3399-pc:~# uname -a<br class="">Linux roc-rk3399-pc 6.1.0-rc5-00123-g4dd7ff4a0311 #2 SMP PREEMPT Wed Nov 16 19:55:11 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux<br class="">root@roc-rk3399-pc:~# perf probe -x ~/bin/perf open_debuginfo<br class="">Added new event:<br class="">probe_perf:open_debuginfo (on open_debuginfo in /home/acme/bin/perf)<br class=""><br class="">You can now use it in all perf tools, such as:<br class=""><br class=""><span class="Apple-tab-span" style="white-space: pre;">   </span>perf record -e probe_perf:open_debuginfo -aR sleep 1<br class=""><br class="">root@roc-rk3399-pc:~#<br class=""><br class="">root@roc-rk3399-pc:~# perf trace --call-graph=dwarf -a -e probe_perf:* perf test bpf<br class="">40: LLVM search and compile                                         :<br class="">40.1: Basic BPF llvm compile                                        : Ok<br class="">40.3: Compile source for BPF prologue generation                    : FAILED!<br class="">40.4: Compile source for BPF relocation                             : Ok<br class="">42: BPF filter                                                      :<br class="">42.1: Basic BPF filtering                                           :     0.000 perf/38363 probe_perf:open_debuginfo(__probe_ip: 187650778659428)<br class="">                                    open_debuginfo (/home/acme/bin/perf)<br class="">                                    try_to_find_probe_trace_events (inlined)<br class="">                                    convert_to_probe_trace_events (inlined)<br class="">                                    convert_perf_probe_events (/home/acme/bin/perf)<br class="">                                    bpf__probe (/home/acme/bin/perf)<br class="">                                    parse_events_load_bpf_obj (/home/acme/bin/perf)<br class="">                                    do_test (/home/acme/bin/perf)<br class="">FAILED!<br class="">42.2: BPF pinning                                                   :  5594.218 perf/38582 probe_perf:open_debuginfo(__probe_ip: 187650778659428)<br class="">                                    open_debuginfo (/home/acme/bin/perf)<br class="">                                    try_to_find_probe_trace_events (inlined)<br class="">                                    convert_to_probe_trace_events (inlined)<br class="">                                    convert_perf_probe_events (/home/acme/bin/perf)<br class="">                                    bpf__probe (/home/acme/bin/perf)<br class="">                                    parse_events_load_bpf_obj (/home/acme/bin/perf)<br class="">                                    do_test (/home/acme/bin/perf)<br class="">FAILED!<br class="">42.3: BPF prologue generation                                       : FAILED!<br class="">63: Test libpfm4 support                                            :<br class="">99: perf stat --bpf-counters test                                   : Skip<br class="">100: perf stat --bpf-counters --for-each-cgroup test                 : Skip<br class="">root@roc-rk3399-pc:~#<br class=""><br class="">So that is the callchains leading to open_debuginfo(), perhaps we should<br class="">return ENODATA at try_to_find_probe_trace_events() when open_debuginfo()<br class="">fails?<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">Hi Arnaldo,</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">Thanks for the suggestions. I tried with changing return code to ENODATA when open_debuginfo fails and will</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">send a separate patch addressing this change.</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class="">⬢[acme@toolbox perf]$ find tools/perf/ -name "*.[ch]" | xargs grep try_to_find_probe_trace_events<br class="">tools/perf/util/probe-event.c:static int try_to_find_probe_trace_events(struct perf_probe_event *pev,<br class="">tools/perf/util/probe-event.c:static int try_to_find_probe_trace_events(struct perf_probe_event *pev,<br class="">tools/perf/util/probe-event.c:<span class="Apple-tab-span" style="white-space: pre;">       </span>ret = try_to_find_probe_trace_events(pev, tevs);<br class="">⬢[acme@toolbox perf]$<span class="Apple-converted-space"> </span><br class=""><br class="">Also it returns ENOENT as well when not finding the probe point... There<br class="">we should return perhaps ENOSYM?<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">ENOSYM is not defined for all the archs.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span class="Apple-tab-span" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: pre; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">     </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">arch/parisc/include/uapi/asm/errno.h:#define ENOSYM</span><span class="Apple-tab-span" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: pre; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">   </span><span class="Apple-tab-span" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: pre; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">      </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">215</span><span class="Apple-tab-span" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: pre; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">   </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">/* symbol does not exist in executable */</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">So we need to make this error code generic to use in probe-event. Shall we make this error code</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">generic for all archs to use ?</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">Thanks</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;" class="">Athira</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""><blockquote type="cite" class="">But issue with using this return code is that, there are other places<br class="">in the code path for "parse_events_load_bpf_obj" which also returns<br class="">ENOENT. In that case, for any exit path that returns ENOENT, test will<br class="">get skipped.  Hence looking for an alternative way to identify missing<br class="">debuginfo to skip the test. Please share your thoughts on this.<br class=""></blockquote><br class="">See above.<br class=""><br class="">- Arnaldo</blockquote></div></body></html>