From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYaSr-0000vJ-O0 for qemu-devel@nongnu.org; Mon, 20 Jun 2011 05:08:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QYaSq-0005SZ-4f for qemu-devel@nongnu.org; Mon, 20 Jun 2011 05:08:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:5321) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYaSp-0005SS-O4 for qemu-devel@nongnu.org; Mon, 20 Jun 2011 05:08:11 -0400 Message-ID: <4DFF0E9D.90409@redhat.com> Date: Mon, 20 Jun 2011 11:10:53 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <4DF9BD9C.1060307@cn.fujitsu.com> <4DF9DD77.5040401@redhat.com> <20110616124651.GD14583@redhat.com> <4DFAAF00.900@cn.fujitsu.com> In-Reply-To: <4DFAAF00.900@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] do not send packet to nic if the packet will be dropped by nic List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang Cc: qemu-devel , Aurelien Jarno , "Michael S. Tsirkin" Am 17.06.2011 03:33, schrieb Wen Congyang: > If !s->clock_enabled or !rtl8139_receiver_enabled(s), it means that > the nic will drop all packets from host. So qemu will keep getting > packets from host and wasting CPU on dropping packets. This seems > worse than packets that should be dropped but aren't. > > Signed-off-by: Wen Congyang Which bug does this change fix? I'm still not convinced that we should do it. > --- > hw/rtl8139.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/rtl8139.c b/hw/rtl8139.c > index 2f8db58..9084678 100644 > --- a/hw/rtl8139.c > +++ b/hw/rtl8139.c > @@ -810,9 +810,9 @@ static int rtl8139_can_receive(VLANClientState *nc) > > /* Receive (drop) packets if card is disabled. */ This comment isn't accurate any more after applying the patch. > if (!s->clock_enabled) > - return 1; > + return 0; > if (!rtl8139_receiver_enabled(s)) > - return 1; > + return 0; > > if (rtl8139_cp_receiver_enabled(s)) { > /* ??? Flow control not implemented in c+ mode. > -- 1.7.1 Kevin