qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v3 03/13] l2tpv3: Drop l2tpv3_can_send


From: Stefan Hajnoczi
Subject: Re: [Qemu-block] [PATCH v3 03/13] l2tpv3: Drop l2tpv3_can_send
Date: Tue, 19 May 2015 15:48:30 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, May 19, 2015 at 10:51:00AM +0000, Fam Zheng wrote:
> This callback is called by main loop before polling s->fd, if it returns
> false, the fd will not be polled in this iteration.
> 
> This is redundant with checks inside read callback. After this patch,
> the data will be copied from s->fd to s->msgvec when it arrives. If the
> device can't receive, it will be queued to incoming_queue, and when the
> device status changes, this queue will be flushed.

This doesn't work because s->msgvec can fill up when
qemu_can_send_packet() returns false.  At that point we burn 100% CPU
because the file descriptor is still being monitored.

It really is necessary to stop monitoring the file descriptor until we
can send again.  Or the code needs to be changed to drop packets in QEMU
(currently it's the host kernel where packets may be dropped).

Stefan

Attachment: pgpAPAT1gBtIK.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]