Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757925Ab0FOQqM (ORCPT ); Tue, 15 Jun 2010 12:46:12 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:40426 "EHLO e4.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751643Ab0FOQqK (ORCPT ); Tue, 15 Jun 2010 12:46:10 -0400 From: Jay Vosburgh To: "Jan-Bernd Themann" cc: David Miller , netdev@vger.kernel.org, linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, tklein@linux.ibm.com, Andre Detsch , themann@de.ibm.com Subject: Re: [PATCH 1/2] ehea: fix delayed packet processing In-reply-to: <201006151735.17258.ossthema@de.ibm.com> References: <201006151735.17258.ossthema@de.ibm.com> Comments: In-reply-to "Jan-Bernd Themann" message dated "Tue, 15 Jun 2010 17:35:16 +0200." X-Mailer: MH-E 8.2; nmh 1.3-RC3; GNU Emacs 23.1.90 Date: Tue, 15 Jun 2010 09:45:47 -0700 Message-ID: <6663.1276620347@death.nxdomain.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1786 Lines: 49 Jan-Bernd Themann wrote: >In the eHEA poll function an rmb() is required. Without that some packets >on the receive queue are not seen and thus delayed until the next interrupt >is handled for the same receive queue. > >Signed-off-by: Jan-Bernd Themann To add a bit of background, this could manifest during a netperf TCP_RR or UDP_RR on an otherwise idle network. TCP would occasionally retransmit, but then both the original segment and the retransmission would simultaneously appear at the receiver. For UDP_RR, message sizes in excess of the mtu would occasionally "lose" an IP fragment, and eventually IP reassembly would time out. -J Signed-off-by: Jay Vosburgh >--- >Patch created against 2.6.35-rc3 > > drivers/net/ehea/ehea_main.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > >diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c >index f547894..fd890fa 100644 >--- a/drivers/net/ehea/ehea_main.c >+++ b/drivers/net/ehea/ehea_main.c >@@ -867,6 +867,7 @@ static int ehea_poll(struct napi_struct *napi, int budget) > ehea_reset_cq_ep(pr->send_cq); > ehea_reset_cq_n1(pr->recv_cq); > ehea_reset_cq_n1(pr->send_cq); >+ rmb(); > cqe = ehea_poll_rq1(pr->qp, &wqe_index); > cqe_skb = ehea_poll_cq(pr->send_cq); > >-- >1.7.0 >-- >To unsubscribe from this list: send the line "unsubscribe netdev" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/