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>