From nobody@FreeBSD.org  Tue Apr 23 10:04:12 2002
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21])
	by hub.freebsd.org (Postfix) with ESMTP id 67B9437B428
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 23 Apr 2002 10:04:12 -0700 (PDT)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.11.6/8.11.6) id g3NH4CC26327;
	Tue, 23 Apr 2002 10:04:12 -0700 (PDT)
	(envelope-from nobody)
Message-Id: <200204231704.g3NH4CC26327@freefall.freebsd.org>
Date: Tue, 23 Apr 2002 10:04:12 -0700 (PDT)
From: Yuri Victorovich <yuri@tsoft.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: xl0 network card (509B) fails on heavy traffic
X-Send-Pr-Version: www-1.0

>Number:         37385
>Category:       alpha
>Synopsis:       xl0 network card (509B) fails on heavy traffic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-alpha
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 23 10:10:01 PDT 2002
>Closed-Date:    Mon Aug 18 13:07:32 PDT 2003
>Last-Modified:  Mon Aug 18 13:07:32 PDT 2003
>Originator:     Yuri Victorovich
>Release:        FreeBSD-5.0 DP
>Organization:
Optima Inc
>Environment:
FreeBSD s3.xxxxx.com 5.0-DP1 FreeBSD 5.0-DP1 #3: Mon Apr 22 08:18:12 EDT 2002     root@:/usr/src/sys/alpha/compile/GENERIC  alpha

>Description:
"xl0: bad receive status -- packet dropped"
dropped in log by if_xl driver when traffic is really
heavy -- (download of huge file from LAN).

might be endianness issue again since number of similar cards
work on i386 platform.

>How-To-Repeat:
obvious
>Fix:
unknown

>Release-Note:
>Audit-Trail:

From: Andrew Gallatin <gallatin@cs.duke.edu>
To: Yuri Victorovich <yuri@tsoft.com>
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: alpha/37385: xl0 network card (509B) fails on heavy traffic
Date: Tue, 23 Apr 2002 13:46:24 -0400 (EDT)

 The message is mostly harmless.  I see it only at a very high
 packets/sec rate on my UP1000.
 
 It may simply be a race if the card writes portions of xl_status
 independantly (eg, updates the csum status, then marks it complete in
 another DMA).
 
  > "xl0: bad receive status -- packet dropped"
  > dropped in log by if_xl driver when traffic is really
  > heavy -- (download of huge file from LAN).
  > 
  > might be endianness issue again since number of similar cards
  > work on i386 platform.
 
 Nonsense. The alpha and the i386 platform have the same byte order. 
 Also, xl_status is 32-bits, so the reads of it should be atomic from the
 host's perspective.  
 
 If the card is doing the DMAs separately, then we
 should be looking for XL_RXSTAT_UP_CMPLT (or XL_RXSTAT_UP_ERROR) explicitly.
 
 Something like
 
 
 while((rxstat = sc->xl_cdata.xl_rx_head->xl_ptr->xl_status) & (XL_RXSTAT_UP_ERROR|XL_RXSTAT_UP_CMPLT)) {
 
 
 
 Drew
 
State-Changed-From-To: open->closed 
State-Changed-By: wilko 
State-Changed-When: Mon Aug 18 13:06:04 PDT 2003 
State-Changed-Why:  
I just finished testing xl(4) on alpha and it works just 
fine, no errors/warnings. This was using netperf. 


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

