[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-alpha
Subject: Re: alpha/37385: xl0 network card (509B) fails on heavy traffic
From: Andrew Gallatin <gallatin () cs ! duke ! edu>
Date: 2002-04-23 17:50:02
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic