Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Apr 2002 10:50:02 -0700 (PDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        freebsd-alpha@FreeBSD.org
Subject:   Re: alpha/37385: xl0 network card (509B) fails on heavy traffic
Message-ID:  <200204231750.g3NHo2l36648@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR alpha/37385; it has been noted by GNATS.

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
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204231750.g3NHo2l36648>