Linux wireless drivers development
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@gmail.com>
To: Sujith <Sujith.Manoharan@atheros.com>
Cc: "Johannes Berg" <johannes@sipsolutions.net>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"Luis Rodriguez" <Luis.Rodriguez@atheros.com>,
	"tomasw@gmail.com" <tomasw@gmail.com>
Subject: Re: [RFC] mac80211: Re-enable aggregation
Date: Mon, 20 Oct 2008 02:14:15 -0700	[thread overview]
Message-ID: <43e72e890810200214g16f847caqa6cbf724b7b7b625@mail.gmail.com> (raw)
In-Reply-To: <18684.18492.94865.480736@gargle.gargle.HOWL>

On Mon, Oct 20, 2008 at 1:58 AM, Sujith <Sujith.Manoharan@atheros.com> wrote:
> Johannes Berg wrote:
>  >
>  > > --- a/include/linux/skbuff.h
>  > > +++ b/include/linux/skbuff.h
>  > > @@ -244,6 +244,11 @@ typedef unsigned char *sk_buff_data_t;
>  > >   *        @tc_verd: traffic control verdict
>  > >   *        @ndisc_nodetype: router type (from link layer)
>  > >   *        @do_not_encrypt: set to prevent encryption of this frame
>  > > + *        @requeue: set to indicate that the wireless core should attempt
>  > > + *                a software retry on this frame if we failed to
>  > > + *                receive an ACK for it
>  >
>  >
>  >
>  > > + *        @is_part_ampdu: set to indicate that the wireless core should should
>  > > + *                treat this frame as part of an AMPDU
>  >
>  > I thought we said we could keep the flag instead of moving to the skb
>  > here?
>  >
>  > The next step, imho, is to remove all the "if (hw->num_ampdu_queues)"
>  > stuff and figure out what kind of services mac80211 should provide.
>
> Well, currently ath9k maintains a buffer list for each tid.
> When mac80211 sends down a frame, if the recipient has an aggr. session going,
> it is appended to the tid's buffer list. Non-HT frames are sent out immediately.
> On TX completion, we run through all the ACs, STAs and TIDs and send out pending
> frames as aggregates.
>
> IMO, this is heavy stuff for a driver.
> mac80211 can probably help by maintaining the TX state for each TID, maintain the
> buffer list, etc.  and provide appropriate mechanisms for drivers to obtain pending
> frames as and when needed.

Indeed I agree with this. I think we can do this in three steps:

1. resolve aggregation for now for ath9k
2. resolve aggregation for amdpu_queue case. My suggestion here is to
use skb_buf_head (after Jouni's suggestion for our driver in fact),
and do not make use of a qdisc at all for this
3. consider what we can really share when schedulers on aggr differ,
in one case where everything is in the driver and the other where its
not. For example -- when a new driver requiring aggregation is needed
we can consolidate aggr scheduler mechanisms. If this is not
acceptable this means we have to do it now but I don't know enough
about any other hardware to do it accurately to make it work for 2
hardwares.

Thoughts?

  Luis

  parent reply	other threads:[~2008-10-20  9:14 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-20  8:22 [RFC] mac80211: Re-enable aggregation Sujith
2008-10-20  8:31 ` Johannes Berg
2008-10-20  8:35   ` Luis R. Rodriguez
2008-10-20  8:45     ` Johannes Berg
2008-10-20  8:47       ` Sujith
2008-10-20  8:55         ` Luis R. Rodriguez
2008-10-20  8:57           ` Johannes Berg
2008-10-20  9:01             ` Luis R. Rodriguez
2008-10-20  9:04               ` Johannes Berg
2008-10-20  9:05                 ` Luis R. Rodriguez
2008-10-20  9:11                 ` Sujith
2008-10-20  8:57       ` Luis R. Rodriguez
2008-10-20  8:58   ` Sujith
2008-10-20  9:12     ` Johannes Berg
2008-10-20  9:31       ` Sujith
2008-10-20  9:38         ` Johannes Berg
2008-10-20 10:35           ` Sujith
2008-10-20 12:22             ` Johannes Berg
2008-10-20 18:03               ` Sujith
2008-10-20 21:46                 ` Tomas Winkler
2008-10-21  6:46                   ` Johannes Berg
2008-10-21  7:18                   ` Sujith
2008-10-22 10:03                   ` Johannes Berg
2008-10-22 11:59                     ` Tomas Winkler
2008-10-22 17:22                       ` Johannes Berg
2008-10-23  8:57                         ` Sujith
2008-10-23 14:46                           ` Johannes Berg
2008-10-27 14:25                             ` Sujith
2008-10-27 15:04                               ` Johannes Berg
2008-10-27 15:56                                 ` Tomas Winkler
2008-10-27 16:04                                   ` Johannes Berg
2008-10-28 14:24                                     ` Tomas Winkler
2008-10-22 10:00                 ` Johannes Berg
2008-10-22 11:41                   ` Tomas Winkler
2008-10-22 17:24                     ` Johannes Berg
2008-10-23  9:31                   ` Sujith
2008-10-23 14:45                     ` Johannes Berg
2008-10-23 17:23                       ` Luis R. Rodriguez
2008-10-23 18:31                         ` Tomas Winkler
2008-10-23 20:18                           ` Luis R. Rodriguez
2008-10-23 21:17                             ` Tomas Winkler
2008-10-31  1:26                               ` Luis R. Rodriguez
2008-10-27 14:11                       ` Sujith
2008-10-27 15:07                         ` Johannes Berg
2008-10-20  9:14     ` Luis R. Rodriguez [this message]
2008-10-20  9:24       ` Johannes Berg
2008-10-20 10:07         ` Sujith
2008-10-20 10:15           ` Johannes Berg

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=43e72e890810200214g16f847caqa6cbf724b7b7b625@mail.gmail.com \
    --to=mcgrof@gmail.com \
    --cc=Luis.Rodriguez@atheros.com \
    --cc=Sujith.Manoharan@atheros.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=tomasw@gmail.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