On Tue, Jun 30, 2020 at 7:26 PM Yonghong Song <yhs@xxxxxx> wrote: > > > > On 6/30/20 5:10 PM, Hao Luo wrote: > > Ok, with the help of my colleague Ian Rogers, I think we solved the > > mystery. Clang actually inlined hrtimer_nanosleep() inside > > SyS_nanosleep(), so there is no call to that function throughout the > > path of the nanosleep syscall. I've been looking at the function body > > of hrtimer_nanosleep for quite some time, but clearly overlooked the > > caller of hrtimer_nanosleep. hrtimer_nanosleep is pretty short and > > there are many constants, inlining would not be too surprising. > > Oh thanks for explanation. inlining makes sense. We have many other > instances like this in the past where kprobe won't work properly. > > Could you reword your commit message then? > > > causing fentry and kprobe to not hook on this function properly on a > > Clang build kernel. > > The above is a little vague on what happens. What really happens is > fentry/kprobe does hook on this function but has no effect since > its caller has inlined the function. Sure, sending a v2 with a more accurate description of the issue. Hao