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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to