From nobody@FreeBSD.org Tue Apr 23 10:04:12 2002 Return-Path: Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 67B9437B428 for ; 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 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 To: Yuri Victorovich 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: