Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Sujith <Sujith.Manoharan@atheros.com>
Cc: "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 14:22:29 +0200	[thread overview]
Message-ID: <1224505349.27899.17.camel@johannes.berg> (raw)
In-Reply-To: <18684.24323.743610.871307@gargle.gargle.HOWL>

[-- Attachment #1: Type: text/plain, Size: 1875 bytes --]

On Mon, 2008-10-20 at 16:05 +0530, Sujith wrote:

> > But couldn't non-HT frames be buffered similarly? Maybe I'm missing one
> > of the finer points of the 11n draft?
> 
> Probably because 11n aggregation have more rigorous timing requirements
> between frames.

What kind? I can only find the ampdu spacing/length exponent stuff.

> > I guess there's no clear answer here. How about "whichever you want"?
> > Though I think I prefer pushing them down as that makes the model easier
> > to understand. It probably also makes the Intel case easier to
> > implement.
> 
> A way to pull down buffered frames for each TID (like ieee80211_get_buffered_bc() )
> would be really useful for ath9k.

I'm not sure, that seems like a useful thing initially, but leaves a lot
of stuff for the driver. We should probably think about moving more
things *up* into mac80211 rather than giving the driver more access to
low-level details. This would also allow us possibly even send A-MPDU
mcast when acting as an HT AP, something the driver cannot easily do.

Can you explain the way it currently works in ath9k?

Also, I'm trying to understand the relation between a block-ack
agreement and A-MDPU, I understand that without a block-ack-agreement
aggregation isn't very useful, but could we not, for example, implement
(regular) delayed block-ack with much the same infrastructure?

What I could also imagine is that mac80211 simply does pretty much
everything and hands a number of skbs to the driver at once with some
additional information about how to aggregate them, what sort of spacing
to use, etc. It should be able to calculate all the required stuff since
it knows from the rate control algorithm what's happening there. That
might leave Intel out a bit, but I'm starting to think that we want to
special-case them a bit anyway.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2008-10-20 12:22 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 [this message]
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
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=1224505349.27899.17.camel@johannes.berg \
    --to=johannes@sipsolutions.net \
    --cc=Luis.Rodriguez@Atheros.com \
    --cc=Sujith.Manoharan@atheros.com \
    --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