From owner-freebsd-stable@FreeBSD.ORG Thu Mar 23 18:29:14 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 333B416A401 for ; Thu, 23 Mar 2006 18:29:14 +0000 (UTC) (envelope-from oberman@es.net) Received: from postal4.es.net (postal4.es.net [198.124.252.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFDB443D4C for ; Thu, 23 Mar 2006 18:29:13 +0000 (GMT) (envelope-from oberman@es.net) Received: from ptavv.es.net ([198.128.4.29]) by postal4.es.net (Postal Node 4) with ESMTP (SSL) id IBA74465; Thu, 23 Mar 2006 10:29:11 -0800 Received: from ptavv.es.net (localhost [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id 1190845041; Thu, 23 Mar 2006 10:29:10 -0800 (PST) To: JoaoBR In-reply-to: Your message of "Thu, 23 Mar 2006 15:04:41 -0300." <200603231504.42339.joao@matik.com.br> Date: Thu, 23 Mar 2006 10:29:10 -0800 From: "Kevin Oberman" Message-Id: <20060323182910.1190845041@ptavv.es.net> Cc: freebsd-stable@freebsd.org Subject: Re: nve timeout (and down) regression? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2006 18:29:14 -0000 I am a bit confused. The first addition of sc->pending_txs = 0; was MFC'ed back in December by obrien. Check around line 730 of if_nv.c (or whatever it's called in 6.0) sc->linkup = 0; sc->cur_rx = 0; sc->pending_rxs = 0; + sc->pending_txs = 0; This should mostly eliminate the problem. The other patch cited in the message has never been made: diff -u -r1.7.2.4 if_nve.c --- if_nve.c 9 Oct 2005 04:18:17 -0000 1.7.2.4 +++ if_nve.c 27 Oct 2005 09:58:45 -0000 @@ -727,7 +727,7 @@ DEBUGOUT(NVE_DEBUG_INIT, "nve: nve_init_rings - entry\n"); - sc->cur_rx = sc->cur_tx = sc->pending_rxs = sc->pending_txs = 0; + sc->cur_rx = sc->cur_tx = sc->pending_rxs = 0; /* Initialise RX ring */ for (i = 0; i < RX_RING_SIZE; i++) { struct nve_rx_desc *desc = sc->rx_desc + i; So sc->pending_txs should only be reset to zero only in nve_stop but not in nve_init_rings? -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634