On Mon, 21 Mar 2022 17:40:32 +0100 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > func_B: > call __fentry__ /* push func_B */ > ... > call __fexit__ /* pop 1 + tails */ > ret > > func_A: > call __fentry__ /* push func_A */ > ... > call __ftail__ /* mark func_A tail */ > jmp func_B > > func_C: > call __fentry__ /* push func_C */ > call func_A; > ... > call __fexit__ /* pop 1 + tails */ > ret; This also assumes that we need to trace everything that is marked. I mentioned in another email, what do we do if we only trace funcA? -- Steve