On Thu, Dec 11, 2025 at 10:51:37AM +0800, Lange Tang wrote: > At 2025-12-10 17:04:04, "Michael S. Tsirkin" <[email protected]> wrote: > >On Thu, Nov 27, 2025 at 11:24:00AM +0800, Longjun Tang wrote: > >> From: Tang Longjun <[email protected]> > >> > >> hi, > >> virtnet_mon is used to monitor the data packets of the virtio_net driver > >> and the related parameters of virtqueue, useful for tracking its status > >> and troubleshooting faults. > >> > >> pls review. tks > >> > >> Best regard. > > > >what does this achieve that direct use of tracing would not? > > I apologize that my explanation of virtnet_mon was not detailed enough. > virtnet_mon uses kprobe and buffers to monitor virtio_net. > To monitor virtio_net, it is necessary to track the member parameters of the > virtqueue corresponding to each data packet and output them. > When PPS very high, other tracing techniques, such as ebpf, may not be able > to handle it, resulting in data loss because they do not have sufficiently > large buffers to batch export log data. > > As for the duplicate code, it is only to obtain the layout of the relevant > structure, and I have not yet thought of a way to avoid duplication. I would > love to hear your suggestions.
add traces as necessary in code and avoid this module completely. > > > >> Tang Longjun (7): > >> tools/virtio/virtnet_mon: create misc driver for virtnet_mon > >> tools/virtio/virtnet_mon: add kfifo to virtnet_mon > >> tools/virtio/virtnet_mon: add kprobe start_xmit > >> tools/virtio/virtnet_mon: add kprobe gro_receive_skb > >> tools/virtio/virtnet_mon: add kprobe ip_local_deliver > >> tools/virtio/virtnet_mon: add kprobe skb_xmit_done and skb_recv_done > >> tools/virtio/virtnet_mon: add README file for virtnet_moin > >> > >> tools/virtio/virtnet_mon/Makefile | 10 + > >> tools/virtio/virtnet_mon/README | 35 + > >> tools/virtio/virtnet_mon/virtnet_mon.c | 1048 ++++++++++++++++++++++++ > >> 3 files changed, 1093 insertions(+) > >> create mode 100644 tools/virtio/virtnet_mon/Makefile > >> create mode 100644 tools/virtio/virtnet_mon/README > >> create mode 100644 tools/virtio/virtnet_mon/virtnet_mon.c > >> > >> -- > >> 2.43.0
