Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2002 01:28:28 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Shizuka Kudo <shizukakudo_99@yahoo.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: No buffer space available
Message-ID:  <3C51253C.6F59A4D4@mindspring.com>
References:  <20020125090942.41014.qmail@web11403.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Shizuka Kudo wrote:
> Is anyone still seeing the "No buffer space availabe"
> message in 5.0-CURRENT? I have checked the mail
> archieve and saw several replies, but none worked in
> my case.
> 
> I have a Thinkpad 600X with a Melco cardbus 10/100
> ethernet card (a Realtek 8139B) running 5.0 NEWCARD
> kernel with NMBCLUSTERS=16384.
> "No buffer space available" occurred when I tried to
> ftp a file in my Thinkpad from other client. "ifconfig
> rl0 down" and then "ifconfig rl0 up" resumed the
> operation for awhile until the error happened again.
> Setting media to 10baseT/UTP did not suffer from this
> error and got about 900Kbytes/s throughput.
> 
> Would that be a bug in the driver that ftp server is
> delivering too much traffic to the NIC? Any suggestion
> that I can try?

That downing and reupping it worked indicates that you
are losing a transmit interrupt draining the write
queue.

I'm pretty sure that this has to be related to the use
of "interrupt threads" in -current, as I do not have the
problem with the 8139B's I have, with an older, stable
version of FreeBSD.

The downing and reupping it resets the card (this is an
intentional side effect, designed to make Tigon II cards
suck^W^W^W^W^Wallow recovery from a hosed driver that
people would rather hack around than fix^W^W^W^W^W^W^W^W,
which should never happen in practice).

The "normal" workaround for this is to have a software
"watchdog" timer that resets the card when it loses its
mind like this (transmit interrupt pending, no transmit
interrupt seen for timeout period).  You could add similar
code the the RealTek driver pretty easily, using the Tigon
II or another driver as a template, if you wanted to work
around the problem instead of actually fixing it^W^W^W^W^W.

-- Terry

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C51253C.6F59A4D4>