From: Ben Greear <greearb@candelatech.com>
To: Seth Forshee <seth.forshee@canonical.com>
Cc: Marco Porsch <marco@cozybit.com>,
johannes@sipsolutions.net, devel@lists.open80211s.org,
vthiagar@qca.qualcomm.com, jouni@qca.qualcomm.com,
linux-wireless@vger.kernel.org, mcgrof@qca.qualcomm.com,
ath9k-devel@venema.h4ckr.net, senthilb@qca.qualcomm.com
Subject: Re: [ath9k-devel] [PATCHv4 2/3] mac80211: mesh power save doze scheduling
Date: Mon, 04 Mar 2013 11:43:00 -0800 [thread overview]
Message-ID: <5134F944.9050602@candelatech.com> (raw)
In-Reply-To: <20130304192320.GB20505@thinkpad-t410>
On 03/04/2013 11:23 AM, Seth Forshee wrote:
> On Mon, Mar 04, 2013 at 06:54:34PM +0100, Marco Porsch wrote:
>> Configure the device for PS mode if the local mesh PS parameters
>> allow so and the driver supports it.
>>
>> Add two callbacks to ieee80211_ops for mesh powersave:
>> - mesh_ps_doze - put the device to sleep now, wake up at given
>> TBTT
>> - mesh_ps_wakeup - wake the device up now for frame RX
>> These ops may be extended in the future to allow drivers/HW to
>> implement mesh PS themselves. (Current design goal was to
>> concentrate most mesh PS routines in mac80211 to keep driver
>> modifications minimal.)
>>
>> Track beacon timing information of peers we are in PS mode
>> towards. Calculate the next TBTT per STA. Stay awake to receive
>> multicast traffic after DTIM beacons.
>>
>> When going to doze state, get the most imminent STA TBTT and
>> configure the device to trigger a wakeup on time to catch that
>> beacon. After successful receipt put the device to doze again.
>> Set a timeout for the case that the beacon is not received on
>> time. In this case calculate the following TBTT and go to doze
>> again.
>>
>> For mesh Awake Windows wakeup on PreTBTT/SWBA (beacon_get_tim)
>> and start a timer which triggers a doze call on expiry.
>> Similarly, stay awake for the Awake Window duration after
>> sending probe response frames.
>>
>> Signed-off-by: Marco Porsch <marco@cozybit.com>
>
> I've been looking at power save in mac80211 over the past few days with
> an eye towards allowing multiple interface to be supported, as a result
> of comments Johannes made at [1]. It seems like adding driver callbacks
> for PS which are specific to the interface type is contrary to this
> goal.
>
> The basic idea that's been forming on my mind is add PS states to vifs
> and make the managed, mesh, etc. code manipulate vif PS states rather
> than hw states. Then a PS module would manage the hw state based on the
> aggregate of the vif states.
>
> I don't have a lot of the details worked out yet, and my knowledge of PS
> in mesh networks (and of mesh network operation in general) is pretty
> rudimentary at this point. But afaict any modes which support PS define
> the same two hw states, awake and doze. I wonder whether we should
> instead aim for a single interface into the driver for PS that's capable
> of supporting all interface types.
>
> Anyway, I just wanted to throw this out for discussion.
I would love to see multi-vif (station) power-saving support happen. I'm low
on development cycles at the moment, but at the least we can do
some testing....
Thanks,
Ben
>
> Thanks,
> Seth
>
> [1] http://article.gmane.org/gmane.linux.kernel.wireless.general/104064
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel@lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
next prev parent reply other threads:[~2013-03-04 19:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-04 17:54 [PATCHv4 1/3] mac80211: move mesh sync beacon handler into neighbour_update Marco Porsch
2013-03-04 17:54 ` [PATCHv4 2/3] mac80211: mesh power save doze scheduling Marco Porsch
2013-03-04 19:23 ` Seth Forshee
2013-03-04 19:43 ` Ben Greear [this message]
2013-03-04 20:25 ` Johannes Berg
2013-03-04 20:57 ` Seth Forshee
2013-03-05 9:31 ` Marco Porsch
2013-03-05 9:17 ` Marco Porsch
2013-03-04 17:54 ` [PATCHv4 3/3] ath9k: mesh powersave support Marco Porsch
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=5134F944.9050602@candelatech.com \
--to=greearb@candelatech.com \
--cc=ath9k-devel@venema.h4ckr.net \
--cc=devel@lists.open80211s.org \
--cc=johannes@sipsolutions.net \
--cc=jouni@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=marco@cozybit.com \
--cc=mcgrof@qca.qualcomm.com \
--cc=senthilb@qca.qualcomm.com \
--cc=seth.forshee@canonical.com \
--cc=vthiagar@qca.qualcomm.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;
as well as URLs for NNTP newsgroup(s).