From: Patrick McHardy <kaber@trash.net>
To: Michael Buesch <mb@bu3sch.de>
Cc: Michael Wu <flamingice@sourmilk.net>, Jiri Benc <jbenc@suse.cz>,
John Linville <linville@tuxdriver.com>,
linux-wireless@vger.kernel.org,
Linux Netdev List <netdev@vger.kernel.org>
Subject: Re: [PATCH RFC] mac80211: Make stop_queues() usable
Date: Tue, 03 Jul 2007 14:56:40 +0200 [thread overview]
Message-ID: <468A4788.7040201@trash.net> (raw)
In-Reply-To: <200707031439.40828.mb@bu3sch.de>
Michael Buesch wrote:
> On Tuesday 03 July 2007 14:31:31 Patrick McHardy wrote:
>
>>The wireless multiqueue handling should be replaced by the generic
>>implementation in net-2.6.23 (using prio, seperating out the wme
>>classifier and killing the broken scheduler). You don't need to
>>stop individual subqueues for a full shutdown with that implementation,
>>you can just stop the global queue. Not sure if that really helps for
>>this case though since I didn't look to deep into this code.
>
>
> That's exactly what I want. Stop the "global queue".
> As there is no "global queue" in mac80211, I need to stop every queue.
I could help you take care of the scheduler part if someone
else takes care of the drivers and mac80211.
Roughly what they need to do is:
- use alloc_netdev_mq instead of alloc_netdev
- use netif_{start,stop,wake}_subqueue instead of the wireless
equivalents
- when all subqueues are stopped the global queue should be stopped
in the usual way (netif_stop_queue), when at least one is active
the global queue should be woken
- use skb->queue_mapping instead of skb->priority to get the HW
queue
The scheduler part mainly consists of offering a clean way to install
a different default qdisc than pfifo_fast and adding a default
classifier. I'm presuming the wme classifier would also be useful
for other (non-mac80211) wireless drivers that offer multiple queues,
so it should probably be completely seperated from mac80211 and moved
to net/sched.
WARNING: multiple messages have this Message-ID (diff)
From: Patrick McHardy <kaber-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
To: Michael Buesch <mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org>
Cc: Michael Wu <flamingice-R9e9/4HEdknk1uMJSBkQmQ@public.gmane.org>,
Jiri Benc <jbenc-AlSwsSmVLrQ@public.gmane.org>,
John Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>,
linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Linux Netdev List
<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH RFC] mac80211: Make stop_queues() usable
Date: Tue, 03 Jul 2007 14:56:40 +0200 [thread overview]
Message-ID: <468A4788.7040201@trash.net> (raw)
In-Reply-To: <200707031439.40828.mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org>
Michael Buesch wrote:
> On Tuesday 03 July 2007 14:31:31 Patrick McHardy wrote:
>
>>The wireless multiqueue handling should be replaced by the generic
>>implementation in net-2.6.23 (using prio, seperating out the wme
>>classifier and killing the broken scheduler). You don't need to
>>stop individual subqueues for a full shutdown with that implementation,
>>you can just stop the global queue. Not sure if that really helps for
>>this case though since I didn't look to deep into this code.
>
>
> That's exactly what I want. Stop the "global queue".
> As there is no "global queue" in mac80211, I need to stop every queue.
I could help you take care of the scheduler part if someone
else takes care of the drivers and mac80211.
Roughly what they need to do is:
- use alloc_netdev_mq instead of alloc_netdev
- use netif_{start,stop,wake}_subqueue instead of the wireless
equivalents
- when all subqueues are stopped the global queue should be stopped
in the usual way (netif_stop_queue), when at least one is active
the global queue should be woken
- use skb->queue_mapping instead of skb->priority to get the HW
queue
The scheduler part mainly consists of offering a clean way to install
a different default qdisc than pfifo_fast and adding a default
classifier. I'm presuming the wme classifier would also be useful
for other (non-mac80211) wireless drivers that offer multiple queues,
so it should probably be completely seperated from mac80211 and moved
to net/sched.
next prev parent reply other threads:[~2007-07-03 12:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-02 20:35 [PATCH RFC] mac80211: Make stop_queues() usable Michael Buesch
2007-07-03 4:09 ` Michael Wu
2007-07-03 8:39 ` Michael Buesch
2007-07-03 12:31 ` Patrick McHardy
2007-07-03 12:39 ` Michael Buesch
2007-07-03 12:56 ` Patrick McHardy [this message]
2007-07-03 12:56 ` Patrick McHardy
2007-07-03 17:15 ` Michael Wu
2007-07-03 17:36 ` Michael Buesch
2007-07-03 17:41 ` Michael Wu
2007-07-03 17:47 ` Michael Buesch
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=468A4788.7040201@trash.net \
--to=kaber@trash.net \
--cc=flamingice@sourmilk.net \
--cc=jbenc@suse.cz \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mb@bu3sch.de \
--cc=netdev@vger.kernel.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 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.