[Virtio-fs] [PATCH 0/2][RFC] virtio-fs: Add some tracepoints
Stefan Hajnoczi
stefanha at redhat.com
Wed Aug 7 13:28:36 UTC 2019
On Mon, Jul 29, 2019 at 05:34:29PM -0400, Masayoshi Mizuma wrote:
> From: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>
>
> This patch series introduce some tracepoints. It will be
> useful to debug the I/O request flow.
>
> New trace events:
>
> - virtiofs_request_dispatched
> - virtiofs_request_done
> - virtiofs_hiprio_request_dispatched
> - virtiofs_hiprio_request_done
>
> Above trace events is added to the following functions as
> the tracepoints:
>
> - virtio_fs_enqueue_req
> - virtio_fs_requests_done_work
> - virtio_fs_hiprio_dispatch_work
> - virtio_fs_hiprio_done_work
>
> Example of the trace record:
>
> cat-1420 [002] .... 34.687462: virtiofs_request_dispatched: opcode
> FUSE_READ unique 0x1a nodeid 0x2 in.len 80 flags ISREPLY|WAITING|SENT
> notify 1
> kworker/4:1-67 [004] .... 34.687531: virtiofs_request_done: opcode FUSE_READ
> unique 0x1a nodeid 0x2 in.len 80 flags ISREPLY|WAITING
>
> Masayoshi Mizuma (2):
> add ftrace events
> add tracepoints
>
> fs/fuse/virtio_fs.c | 21 ++++
> include/trace/events/virtiofs.h | 195 ++++++++++++++++++++++++++++++++
> 2 files changed, 216 insertions(+)
> create mode 100644 include/trace/events/virtiofs.h
Looks good. Two suggestions although I don't have a strong opinion:
1. Please use "virtio_fs" instead of "virtiofs" for consistency with the
existing kernel code.
2. Please consider adding generic fuse.ko trace events for the request
lifecycle so both traditional FUSE and virtio-fs can benefit. The
argument against this is that your patches correspond more closely to
virtqueue activity than tracepoints in the shared FUSE code, but I
wanted to mention the idea.
More information about the Virtio-fs
mailing list