Hello Guys, I found probe on __blkdev_put is missed, which can be observed via bcc/perf reliably: 1) start trace - perf probe __blkdev_put - perf trace -a -e probe:__blkdev_put or /usr/share/bcc/tools/stackcount __blkdev_put 2) run the following command: blockdev --getbsz /dev/sda1 3) 'perf trace' or stackcount just dumps one trace event, and it should have been two __blkdev_put() traces, since one __blkdev_put() is called for partition(/dev/sda1), and another is for disk(/dev/sda). If trace_printk() is added in __blkdev_put(), two events will be captured from ftrace. The only special thing about __blkdev_put() is that the function will call into itself. However, no such issue on __blkdev_get() which calls itself too. Thanks, Ming Lei