From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45895) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZHTJY-0002Nx-G5 for qemu-devel@nongnu.org; Tue, 21 Jul 2015 04:54:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZHTJU-0000ao-GS for qemu-devel@nongnu.org; Tue, 21 Jul 2015 04:54:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55152) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZHTJU-0000Zf-BJ for qemu-devel@nongnu.org; Tue, 21 Jul 2015 04:54:12 -0400 Date: Tue, 21 Jul 2015 16:54:09 +0800 From: Fam Zheng Message-ID: <20150721085409.GA14431@ad.nay.redhat.com> References: <1436250630-26109-1-git-send-email-famz@redhat.com> <20150707083750.GA25892@stefanha-thinkpad.redhat.com> <20150707094156.GD28682@ad.nay.redhat.com> <20150720170720.GB3607@stefanha-thinkpad.redhat.com> <20150721012756.GB1950@ad.nay.redhat.com> <20150721083607.GA13993@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150721083607.GA13993@stefanha-thinkpad.redhat.com> Subject: Re: [Qemu-devel] [PATCH v2] net-hub: Drop can_receive List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Stefan Hajnoczi , Jason Wang , qemu-devel@nongnu.org On Tue, 07/21 09:36, Stefan Hajnoczi wrote: > On Tue, Jul 21, 2015 at 09:27:56AM +0800, Fam Zheng wrote: > > On Mon, 07/20 18:07, Stefan Hajnoczi wrote: > > > On Tue, Jul 07, 2015 at 05:41:56PM +0800, Fam Zheng wrote: > > > > On Tue, 07/07 09:37, Stefan Hajnoczi wrote: > > > > > On Tue, Jul 07, 2015 at 02:30:30PM +0800, Fam Zheng wrote: > > > > > > This moves the semantics from net_hub_port_can_receive to receive > > > > > > functions, by returning 0 if all receiving ports return 0. Also, > > > > > > remember to flush the source port's queue in that case. > > > > > > > > > > > > Signed-off-by: Fam Zheng > > > > > > --- > > > > > > net/hub.c | 54 +++++++++++++++++++++++++++++------------------------- > > > > > > 1 file changed, 29 insertions(+), 25 deletions(-) > > > > > > > > > > This patch revision doesn't take into account the special case code in > > > > > qemu_flush_or_purge_queued_packets(), which I mentioned in my reply to > > > > > the previous revision of this patch. > > > > > > > > > > The queue is now flushed twice because you've introduced > > > > > net_hub_port_send_cb() but qemu_flush_or_purge_queued_packets() already > > > > > calls net_hub_flush(). > > > > > > > > > > If you want to get rid of net_hub_flush(), that's great. But please > > > > > remove the duplicate code. > > > > > > > > Right, I missed that. I'll remove the duplicate and send again. > > > > > > Ping? > > > > I thought the net_hub_flush in qemu_flush_or_purge_queued_packets already makes > > sure net-hub is working, so it's just about cleaning up. That's why I deferred > > this to 2.5. Am I wrong? > > My concern was that your NIC patches remove .can_receive() functions but > net/hub.c still relies on them via qemu_can_send_packet(). > > After thinking about it more, the code should still work the same even > though net_hub_can_receive() is now mostly useless and should be removed > in QEMU 2.5. Yes. Completely removing .can_receive from the code base for 2.5 is trivial if the proposed fixes are correct, but it doesn't matter much now. > > We can leave this patch for now. OK, so net-hub is cleared, please proceed with merging the bulk .can_receive series, or if there are other issues, revert the qemu_set_fd_handler .can_send patches and I'll redo it in 2.5. Fam