All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arend van Spriel" <arend@broadcom.com>
To: "Seth Forshee" <seth.forshee@canonical.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: Sat, 3 Nov 2012 18:56:43 +0100	[thread overview]
Message-ID: <50955ADB.9020703@broadcom.com> (raw)
In-Reply-To: <1351261413-20821-1-git-send-email-seth.forshee@canonical.com>

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.

>   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.

>   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.

>   brcmsmac: Add support for writing debug messages to the trace buffer

can you name the new files just debug.[ch]

>   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.

>   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 ;-)

Regards,
AvS


  parent reply	other threads:[~2012-11-03 17:56 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 [this message]
2012-11-04 20:25   ` Seth Forshee
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=50955ADB.9020703@broadcom.com \
    --to=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 \
    --cc=seth.forshee@canonical.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.