netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: David Laight <David.Laight@ACULAB.COM>
Cc: David Miller <davem@davemloft.net>,
	linville@tuxdriver.com, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, bittorf@bluebottle.com,
	stable@vger.kernel.org
Subject: Re: [PATCH] b43: Increase number of RX DMA slots
Date: Tue, 19 Feb 2013 11:57:19 -0600	[thread overview]
Message-ID: <5123BCFF.5090408@lwfinger.net> (raw)
In-Reply-To: <AE90C24D6B3A694183C094C60CF0A2F6026B7152@saturn3.aculab.com>

On 02/19/2013 03:42 AM, David Laight wrote:
> Surely the driver should work even if all the RX buffers get filled?
> Increasing the number of buffers is just hiding the issue.
> A burst of 300 back to back small packets probably fills the 256 slots.
>
> I realise that dropping frames isn't ideal, and that small numbers
> of buffers can make it impossible to receive long fragmented IP
> messages. but increasing the number of buffers doesn't seem to
> be the best fix for a 'silent freeze'.
>
> It might be that the driver would be more robust if it only ever
> put rx buffers into all but one of the ring slots.

The real problem is that some (perhaps all) versions of the firmware, which 
manages the 'in' pointer of the FIFO ring, appears to fail to detect the ring 
full condition. That is the real cause of the freeze; however, we do not have 
access to the firmware source. We don't even have the right to redistribute it, 
which is why we have the b43-fwcutter work around.

I just reviewed about 8 months of logs on my laptop and discovered that my 2.0 
GHz dual CPU system once used 59 of 64 slots. On an netbook with an Atom running 
at 1.6 GHz, 109 slots were used. Clearly, the much slower CPU in a Linksys 
WRT54G needs more than 64, but testing to determine how many is in progress.

Current thinking is that we will change the number of slots to 128, and add code 
to the driver to detect the overflow and reset the device when it occurs. The 
increased memory usage should be manageable, most systems will never hit the 
condition, and the packet loss will be minimal for those that do.

Larry

  parent reply	other threads:[~2013-02-19 17:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-18  3:01 [PATCH] b43: Increase number of RX DMA slots Larry Finger
     [not found] ` <1361156480-32566-1-git-send-email-Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-02-18 16:18   ` Rafał Miłecki
     [not found]     ` <CACna6rwLgE+o2mcRTemLFAqzdsEoA9Xyx8GyEQTh5qbv1iZ04A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-18 16:55       ` Bastian Bittorf
2013-02-18 17:04         ` Larry Finger
2013-02-18 20:10     ` Larry Finger
2013-02-19 20:01       ` Bastian Bittorf
2013-02-19  5:52   ` David Miller
2013-02-19  9:42     ` David Laight
2013-02-19  9:57       ` Rafał Miłecki
2013-02-19 17:57       ` Larry Finger [this message]
2013-02-19 18:15         ` David Miller
2013-02-19 18:28           ` Larry Finger
2013-02-20  0:47             ` Julian Calaby
2013-02-20  2:42               ` Larry Finger
     [not found]                 ` <512437FA.2030105-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-02-20  6:26                   ` Gábor Stefanik
2013-02-20  7:15                     ` Larry Finger
     [not found]                       ` <5124782D.3050803-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-02-20  8:15                         ` Bastian Bittorf
2013-02-20 15:49                           ` Larry Finger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5123BCFF.5090408@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=David.Laight@ACULAB.COM \
    --cc=bittorf@bluebottle.com \
    --cc=davem@davemloft.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).