On 26/01/2016 18:49, Chris Friesen wrote: >> >> That doesn't exclude a bug somewhere in net/ code. It doesn't pinpoint >> it to QEMU or vhost-net. >> >> In any case, what I would do is to use tracing at all levels (guest >> kernel, QEMU, host kernel) for packet rx and tx, and find out at which >> layer the hiccup appears. > > Is there a straightforward way to trace packet processing in qemu > (preferably with millisecond-accurate timestamps)? You can use tracing (docs/tracing.txt). There are two possibilities: 1) use existing low-level virtio tracepoints: virtqueue_fill (end of tx and rx operation) and virtqueue_pop (beginning of tx operation). 2) add tracepoints to hw/net/virtio-net.c (virtio_net_flush_tx, virtio_net_tx_complete, virtio_net_receive) or net/tap.c (tap_receive, tap_receive_iov, tap_send). Paolo -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list