linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Felix Fietkau <nbd@openwrt.org>
Cc: linux-wireless@vger.kernel.org, linville@tuxdriver.com
Subject: Re: [PATCH 3/3] mac80211: optimize aggregation session timeout handling
Date: Mon, 19 Mar 2012 09:39:28 +0100	[thread overview]
Message-ID: <1332146368.3359.12.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <4F65C374.2060505@openwrt.org>

On Sun, 2012-03-18 at 12:13 +0100, Felix Fietkau wrote:
> On 2012-03-18 11:17 AM, Johannes Berg wrote:
> > On Sun, 2012-03-18 at 00:00 +0100, Felix Fietkau wrote:
> >> Calling mod_timer from the rx/tx hotpath is somewhat expensive, and the
> >> timeout doesn't need to be so precise.
> >> 
> >> Switch to a different strategy: Schedule the timer initially, store jiffies
> >> of all last rx/tx activity which would previously modify the timer, and
> >> let the timer re-arm itself after checking the last rx/tx timestamp.
> > 
> > I don't like this. It's not the optimisation you think it is on other
> > ("embedded") systems where firing a timer is more expensive.
> > 
> > You're trading power consumption against CPU utilisation by causing the
> > timer to wake up.
> I considered that was well, but didn't think one wakeup every 5 seconds
> or so would be significant. Would you take the patch if I change the
> timer to be deferrable, so that it doesn't cause wakeups by itself?

I'm not really convinced, for making them deferrable we should analyse
the consequences of that more carefully, for example it seems possible
that the system wakes up to send a packet, and then the first thing that
happens is a few aggregation handshakes ... that wastes a lot of time
and power.

Also, at least for TX aggregation, you don't even give them a timeout in
ath9k so that wouldn't really be an issue?

johannes


  reply	other threads:[~2012-03-19  8:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-17 23:00 [PATCH 1/3] cfg80211: use compare_ether_addr on MAC addresses instead of memcmp Felix Fietkau
2012-03-17 23:00 ` [PATCH 2/3] mac80211: reduce code duplication in debugfs code Felix Fietkau
2012-03-17 23:00   ` [PATCH 3/3] mac80211: optimize aggregation session timeout handling Felix Fietkau
2012-03-18 10:17     ` Johannes Berg
2012-03-18 11:13       ` Felix Fietkau
2012-03-19  8:39         ` Johannes Berg [this message]
2012-03-19  9:29           ` Helmut Schaa
2012-03-19  9:39             ` Johannes Berg
2012-03-19 10:36             ` Felix Fietkau
2012-03-19 10:50               ` Helmut Schaa
2012-03-19 10:52                 ` Felix Fietkau
2012-03-19 10:55                   ` Helmut Schaa
2012-03-19 10:58                     ` Felix Fietkau
2012-03-19 10:01           ` Felix Fietkau
2012-03-19 10:05             ` Johannes Berg
2012-03-19 10:34               ` Felix Fietkau

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=1332146368.3359.12.camel@jlt3.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=nbd@openwrt.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).