Re: [PATCH 6/6] selftests/sgx: Add a bpftrace script for tracking allocation errors

Jarkko Sakkinen
2022-09-01T22:29:11Z

On Wed, Aug 31, 2022 at 11:23:55AM -0700, Dave Hansen wrote:
> On 8/29/22 20:12, Jarkko Sakkinen wrote:
> > diff --git a/tools/testing/selftests/sgx/alloc-error.bt b/tools/testing/selftests/sgx/alloc-error.bt
> > new file mode 100644
> > index 000000000000..9268d50dea29
> > --- /dev/null
> > +++ b/tools/testing/selftests/sgx/alloc-error.bt
> > @@ -0,0 +1,7 @@
> > +kr:sgx_alloc_epc_page /(uint64)retval >= (uint64)(-4095)/ {
> > + printf("sgx_alloc_epc_page: retval=%d\n", (int64)retval);
> > +}
> > +
> > +kr:sgx_encl_page_alloc /(uint64)retval >= (uint64)(-4095)/ {
> > + printf("sgx_encl_page_alloc: retval=%d\n", (int64)retval);
> > +}
>
> I guess this doesn't _hurt_, but it's also not exactly the easiest way
> to get this done. You need a whole bpf toolchain. You could also just do:
>
> perf probe 'sgx_encl_page_alloc%return $retval'
>
> Even *that* can be replicated in a few scant lines of shell code echoing
> into /sys/kernel/debug/tracing.

Thanks, I have not used perf that much. What if I replace
this with a shell script using perf? How do you use that
for two kretprobes?

BR, Jarkko