From nobody@FreeBSD.org  Thu Sep  1 19:18:32 2005
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5EB4516A41F
	for <freebsd-gnats-submit@FreeBSD.org>; Thu,  1 Sep 2005 19:18:32 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 2764743D45
	for <freebsd-gnats-submit@FreeBSD.org>; Thu,  1 Sep 2005 19:18:32 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.13.1/8.13.1) with ESMTP id j81JIVn7062366
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 1 Sep 2005 19:18:31 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.13.1/8.13.1/Submit) id j81JIVdn062365;
	Thu, 1 Sep 2005 19:18:31 GMT
	(envelope-from nobody)
Message-Id: <200509011918.j81JIVdn062365@www.freebsd.org>
Date: Thu, 1 Sep 2005 19:18:31 GMT
From: Adrian Bocaniciu <a.bocaniciu@computer.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Send errors ("device timeout") with nVidia Ethernet nve(4) in 6.0-BETA3
X-Send-Pr-Version: www-2.3

>Number:         85583
>Category:       kern
>Synopsis:       [nve] [timeout] send errors ("device timeout") with nVidia Ethernet nve(4) in 6.0-BETA3
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    obrien
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 01 19:20:14 GMT 2005
>Closed-Date:    Mon Jun 12 20:48:19 GMT 2006
>Last-Modified:  Mon Jun 12 20:48:19 GMT 2006
>Originator:     Adrian Bocaniciu
>Release:        FreeBSD/AMD64 6.0-BETA3
>Organization:
>Environment:
Fresh install of FreeBSD/AMD64 6.0-BETA3 on a nForce 4 motherboard
>Description:
Relevant hardware: Asus A8N-SLI Premium motherboard with nForce 4 chipset, Athlon 64 X2 4400+ dual-core processor, 1 Gbyte 128-bit DDR400 memory, Raptor HDD on the first SATA link of the nForce SATA controller.  All other hardware (DVD writer on PATA, TV tuner and the many on-board peripherals) completely idle during test, nVidia video card in text mode.
After installing FreeBSD/AMD64 6.0-BETA3, the nve(4) nVidia Ethernet interface was recognized as expected, unlike in 5.4-RELEASE, which does not have this driver.  Nevertheless, after starting ntpd, which worked correctly in the beginning, and executing a "make update" with cvsup, after about 2/3 of the update the nve driver began to display "device timeout" error messages.  Each error message was counted in Oerrs of "netstat -i" and the errors appeared to correspond with the NTP queries sent by ntpd during the "make update".  After "make update" finished, the messages continued to show up, so the atempts made by ntpd to send queries remained unsuccessful, resulting in "device timeout".  In conclusion, the nve(4) driver is still unusable in 6.0-BETA3, at least when using two AMD64 processors.

>How-To-Repeat:
I expect that any nForce 4 motherboard with an Athlon 64 X2 processor will behave identically.  I do not know if this nve(4) "device timeout on send" bug also appears with single-core processors or also with FreeBSD/i386 6.0-BETA3.
>Fix:
      
>Release-Note:
>Audit-Trail:

From: Paul Richards <paul.richards@gmail.com>
To: bug-followup@FreeBSD.org, a.bocaniciu@computer.org
Cc:  
Subject: Re: kern/85583: Send errors ("device timeout") with nVidia Ethernet nve(4) in 6.0-BETA3
Date: Sun, 9 Oct 2005 11:45:04 +0100

 This is still a problem in 6.0 BETA5 on an Epox nForce4 motherboard.=20
 Also seems related to PR84027 ("if_nve gets stuck").
 
 
 --
 Paul Richards
State-Changed-From-To: open->feedback 
State-Changed-By: andreas 
State-Changed-When: Thu Oct 27 11:09:44 GMT 2005 
State-Changed-Why:  
Could you please check the fix from Quinton, which fixed my nve 
interface to get device timeouts and getting stuck ? 
See my PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=88045 

The fix: 
cvs diff: Diffing . 
Index: if_nve.c 
=================================================================== 
RCS file: /data/ncvs/src/sys/dev/nve/if_nve.c,v 
retrieving revision 1.7.2.4 
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 - entryn"); 

-       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; 

Please test asap for hopefully inclusion of this patch to 6.0rc2 


Responsible-Changed-From-To: freebsd-bugs->obrien 
Responsible-Changed-By: andreas 
Responsible-Changed-When: Thu Oct 27 11:09:44 GMT 2005 
Responsible-Changed-Why:  
obrien is author of this driver. Quinton is not actively developing 
FreeBSD at the moment. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=85583 
State-Changed-From-To: feedback->open 
State-Changed-By: andreas 
State-Changed-When: Thu Oct 27 16:33:23 GMT 2005 
State-Changed-Why:  
Q referred to fix something in nv_stop() 
But this already is fixed. 
My wrong understanding from his patch suggestion lead to a bogus patch. 
I found the variable in the wrogn function as well and changed something 
in the ringbuffer initialization which was not intended by Q. 
Forget about my patch. It didn't work anyway. 
So the issue is still open. 
Thanks David for pointing that out. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=84027 
State-Changed-From-To: feedback->open 
State-Changed-By: andreas 
State-Changed-When: Thu Oct 27 16:33:23 GMT 2005 
State-Changed-Why:  
Q referred to fix something in nv_stop() 
But this already is fixed. 
My wrong understanding from his patch suggestion lead to a bogus patch. 
I found the variable in the wrogn function as well and changed something 
in the ringbuffer initialization which was not intended by Q. 
Forget about my patch. It didn't work anyway. 
So the issue is still open. 
Thanks David for pointing that out. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=85583 

From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
To: bug-followup@FreeBSD.org, a.bocaniciu@computer.org
Cc:  
Subject: Re: kern/85583 : [nve] [timeout] send errors ("device timeout") with
 nVidia Ethernet nve(4) in 6.0-BETA3
Date: Mon, 12 Dec 2005 06:37:07 +0000 (UTC)

 Could you please try the patch at [1] which I just committed to HEAD[2]
 and let us know if your situation improves?
 
 [1] http://sources.zabbadoz.net/freebsd/patchset/nve-20051211-01.diff
 [2] http://docs.freebsd.org/cgi/mid.cgi?200512120623.jBC6Nilf000427
 
 -- 
 Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT
State-Changed-From-To: open->closed 
State-Changed-By: jhb 
State-Changed-When: Mon Jun 12 20:47:44 UTC 2006 
State-Changed-Why:  
This should finally be fixed with the most recent patch applied to the 
watchdog routine in both HEAD and RELENG_6.  It will be present in 6.2. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=85583 
>Unformatted:
