Messages in this thread | | | From | Ming Lei <> | Date | Wed, 17 Jun 2020 18:30:39 +0800 | Subject | krobe: __blkdev_put probe is missed |
| |
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
| |