Linux wireless drivers development
 help / color / mirror / Atom feed
From: Seth Forshee <seth.forshee@canonical.com>
To: Arend van Spriel <arend@broadcom.com>
Cc: linux-wireless@vger.kernel.org,
	"John W. Linville" <linville@tuxdriver.com>,
	"Franky (Zhenhui) Lin" <frankyl@broadcom.com>,
	Brett Rudley <brudley@broadcom.com>,
	Roland Vossen <rvossen@broadcom.com>,
	Kan Yan <kanyan@broadcom.com>,
	brcm80211-dev-list@broadcom.com
Subject: Re: [PATCH 00/18] brcmsmac: Tx rework and expanded debug/trace support
Date: Sun, 4 Nov 2012 21:25:49 +0100	[thread overview]
Message-ID: <20121104202549.GB24905@ubuntu-mba51> (raw)
In-Reply-To: <50955ADB.9020703@broadcom.com>

On Sat, Nov 03, 2012 at 06:56:43PM +0100, Arend van Spriel wrote:
> On 10/26/2012 04:23 PM, Seth Forshee wrote:
> > I've been looking into the issues with brcmsmac performance reported at
> > [0] and [1]. I started out looking into the tx queueing based on the "No
> > where to go" messages in the logs. This code has a number of
> > shortcomings:
> > 
> >  - The amount of bufferring is excessive. The tx queue will buffer up to
> >    228 packets, and each of the tx DMA rings will queue up to 256 more.
> > 
> >  - There's no flow control. If the queue fills up packets begin to get
> >    dropped, as evidenced by the "No where to go" messages.
> > 
> >  - Without flow control the tx queue probably helps avoid dropping
> >    packets for short bursts due to the sheer number of packets that will
> >    be buffered, but if flow control is added the only remaining benefit
> >    that I can see is that it accumulates packets for aggregation. The tx
> >    queue is far more complex than needed for supporting aggergation,
> >    however.
> > 
> > As a result I worked up the following patches to add flow control remove
> > the tx queue.
> > 
> > These patches change the tx handler to directly hand off packets to the
> > DMA code. The convoluted priority->precedence->fifo mapping is converted
> > to a simple one-to-one mapping of the mac80211 queues to fifos. Non-
> > aggregate frames are immediately inserted into the DMA ring.
> 
> I mentioned earlier we were still looking at the first patch in this
> series and do more testing on it. However, I wanted to provide feedback
> on the other patches now. See below.
> 
> > Thanks,
> > Seth
> > 
> > [0] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1046507
> > [1] http://www.spinics.net/lists/linux-wireless/msg96287.html
> > 
> > 
> > Seth Forshee (18):
> >   brcmsmac: Rework tx code to avoid internal buffering of packets
> 
> under test
> 
> >   brcmsmac: Use correct descriptor count when calculating next rx
> >     descriptor
> 
> nice catch. acked.
> 
> >   brcmsmac: Reduce number of entries in tx DMA rings
> 
> under test.
> 
> >   brcm80211: Allow trace support to be enabled separately from debug
> 
> A bit confusing with BRCMDBG selecting BRCMS_TRACING.

I did this so that the effect of selecting BRCMDBG was unchanged, since
currently tracing is enabled by BRCMDBG. I'm happy to change it so that
BRCMDBG does not select BRCMS_TRACING if you prefer.

> >   brcm80211: Add macro for checking if debug log levels are enabled
> 
> During mainlining we got rid of such a macro. Strange to put something
> similar back in there.

I wasn't aware of that. I personally prefer the macro, but I can change
it back to open coding the checks.

> >   brcm80211: Convert log message levels to debug levels
> 
> acked.
> 
> >   brcmsmac: Add module parameter for setting the debug level
> 
> I would prefer doing this through debugfs.

Okay, I'll change that for v2.

> >   brcmsmac: Add support for writing debug messages to the trace buffer
> 
> can you name the new files just debug.[ch]

I'll change this for v2 as well.

> >   brcmsmac: Use debug macros for general error and debug statements
> 
> acked.
> 
> >   brcmsmac: Add BRCMS_DBG_MAC80211 debug macro
> >   brcmsmac: Add RX and TX debug macros
> >   brcmsmac: Add INT debug macro
> >   brcmsmac: Add DMA debug macro
> >   brcmsmac: Add HT debug macro
> 
> I would prefer the macros to be in lower case.

Will do.

> >   brcmsmac: Improve tx trace and debug support
> 
> acked.
> 
> >   brcmsmac: Add tracepoint for macintstatus
> 
> useful one. acked.
> 
> >   brcmsmac: Add tracepoint for AMPDU session information
> 
> acked.
> 
> >   brcmsmac: Remove some noisy but uninformative debug messages
> 
> acked. I would say: noisy *and* uninformative but that is just semantics ;-)

Yes, "and" would be better here.

Thanks for the feedback!

Seth

  reply	other threads:[~2012-11-04 20:25 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-26 14:23 [PATCH 00/18] brcmsmac: Tx rework and expanded debug/trace support Seth Forshee
2012-10-26 14:23 ` [PATCH 01/18] brcmsmac: Rework tx code to avoid internal buffering of packets Seth Forshee
2012-11-01 17:43   ` Arend van Spriel
2012-11-02  7:28     ` Seth Forshee
2012-10-26 14:23 ` [PATCH 02/18] brcmsmac: Use correct descriptor count when calculating next rx descriptor Seth Forshee
2012-10-26 14:23 ` [PATCH 03/18] brcmsmac: Reduce number of entries in tx DMA rings Seth Forshee
2012-10-26 14:23 ` [PATCH 04/18] brcm80211: Allow trace support to be enabled separately from debug Seth Forshee
2012-10-26 14:23 ` [PATCH 05/18] brcm80211: Add macro for checking if debug log levels are enabled Seth Forshee
2012-10-26 14:23 ` [PATCH 06/18] brcm80211: Convert log message levels to debug levels Seth Forshee
2012-10-26 14:23 ` [PATCH 07/18] brcmsmac: Add module parameter for setting the debug level Seth Forshee
2012-10-26 14:23 ` [PATCH 08/18] brcmsmac: Add support for writing debug messages to the trace buffer Seth Forshee
2012-10-26 14:23 ` [PATCH 09/18] brcmsmac: Use debug macros for general error and debug statements Seth Forshee
2012-10-26 14:23 ` [PATCH 10/18] brcmsmac: Add BRCMS_DBG_MAC80211 debug macro Seth Forshee
2012-10-26 14:23 ` [PATCH 11/18] brcmsmac: Add RX and TX debug macros Seth Forshee
2012-10-26 14:23 ` [PATCH 12/18] brcmsmac: Add INT debug macro Seth Forshee
2012-10-26 14:23 ` [PATCH 13/18] brcmsmac: Add DMA " Seth Forshee
2012-10-26 14:23 ` [PATCH 14/18] brcmsmac: Add HT " Seth Forshee
2012-10-26 14:23 ` [PATCH 15/18] brcmsmac: Improve tx trace and debug support Seth Forshee
2012-10-26 14:23 ` [PATCH 16/18] brcmsmac: Add tracepoint for macintstatus Seth Forshee
2012-10-26 14:23 ` [PATCH 17/18] brcmsmac: Add tracepoint for AMPDU session information Seth Forshee
2012-10-26 14:23 ` [PATCH 18/18] brcmsmac: Remove some noisy but uninformative debug messages Seth Forshee
2012-10-26 15:37 ` [PATCH 00/18] brcmsmac: Tx rework and expanded debug/trace support Arend van Spriel
2012-10-26 16:04   ` Seth Forshee
2012-11-02 10:49 ` Karl Beldan
2012-11-03 11:15   ` Johannes Berg
2012-11-03 13:50     ` Karl Beldan
2012-11-04 20:11       ` Seth Forshee
2012-11-03 17:56 ` Arend van Spriel
2012-11-04 20:25   ` Seth Forshee [this message]
2012-11-14 16:05     ` Seth Forshee
2012-11-14 19:40       ` Arend van Spriel
2012-11-06  7:12 ` Daniel Wagner
2012-11-06  8:19   ` Daniel Wagner
2012-11-06 10:02     ` Seth Forshee
2012-11-06 12:16       ` Daniel Wagner
2012-11-06 12:47         ` Seth Forshee
2012-11-06 12:49           ` Arend van Spriel
2012-11-06 10:20     ` Arend van Spriel
2012-11-06 10:44       ` Piotr Haber
2012-11-06 12:27         ` Daniel Wagner
2012-11-06 12:54           ` Seth Forshee

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=20121104202549.GB24905@ubuntu-mba51 \
    --to=seth.forshee@canonical.com \
    --cc=arend@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brudley@broadcom.com \
    --cc=frankyl@broadcom.com \
    --cc=kanyan@broadcom.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=rvossen@broadcom.com \
    /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