[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap |
Date: |
Thu, 17 Jul 2014 13:54:02 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Jul 11, 2014 at 01:05:30AM +0000, Wangkai (Kevin,C) wrote:
> When used a tap as net driver for vm, if too many packets was delivered to
> the
> guest os via tap interface, the guest os will be blocked on io events for a
> long
> time, while tap driver was busying process packets.
Please tweak this description to explain clearly that the tap_send()
loop can execute for a very long time if more packets are received by
the host during tap_send().
It seems that the guest does not require the QEMU global mutex often
during virtio-net receive, otherwise the rx virtqueue would fill up and
tap_send() would return.
> diff --git a/net/tap.c b/net/tap.c
> index a40f7f0..df9a0eb 100644
> --- a/net/tap.c
> +++ b/net/tap.c
> @@ -189,6 +189,7 @@ static void tap_send(void *opaque)
> {
> TAPState *s = opaque;
> int size;
> + int pkt = 0;
>
> while (qemu_can_send_packet(&s->nc)) {
> uint8_t *buf = s->buf;
> @@ -210,6 +211,11 @@ static void tap_send(void *opaque)
> } else if (size < 0) {
> break;
> }
> +
> + /* limit io block time slice for 50 packets */
> + pkt++;
> + if (pkt >= 50)
> + break;
Please use scripts/checkpatch.pl to check coding style. QEMU always
uses curlies around if statement bodies, even when they are only one
line.
pgpPS_YnbyFyx.pgp
Description: PGP signature
- [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/10
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Stefan Hajnoczi, 2014/07/11
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/13
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Stefan Hajnoczi, 2014/07/14
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/14
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Stefan Hajnoczi, 2014/07/15
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/16
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/16
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Jason Wang, 2014/07/17
- Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap, Wangkai (Kevin,C), 2014/07/17
Re: [Qemu-devel] [PATCH] Tap: fix vcpu long time io blocking on tap,
Stefan Hajnoczi <=