All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC/RFT 0/2] ath9k: use mac80211 intermediate software queues
@ 2016-03-04  1:06 ` Tim Shepard
  0 siblings, 0 replies; 2+ messages in thread
From: Tim Shepard @ 2016-03-04  1:06 UTC (permalink / raw)
  To: linux-wireless
  Cc: michal.kazior, johannes, netdev, eric.dumazet, dave.taht,
	emmanuel.grumbach, nbd, andrewmcgr, apenwarr


Here is a patch in two parts to have ath9k make use the new
intermediate queues in mac80211.   It seems to work for me, but it
clearly needs more testing.

This should be useful to anyone who wants to try Michal's patch from
last week "mac80211: implement fq_codel for software queuing" as that
patch will not do anything unless you have a mac80211 driver that uses
the new mac80211 intermediate queues and indicates to mac80211 that
it does so by having a non-zero .wake_tx_queue method.

The first patch just renames the struct ath_txq in ath9k to be
struct ath_hwq and the renames the variables and fields holding a
pointer to it to be hwq  (instead of txq).

This first patch is IMHO needed because I had an earlier version of
this without renaming ath_txq and it was too mind bending to try and
keep straight which was ath9k's txq (which is per hardware queue)
and what was mac80211 txq (which is per station per tid).

The second patch changes ath9k to use the new mac80211 intermediate
software queues.

I left the existing ath9k software queue mechanisms in place. They
are used by the channel context code in some cases even for non-data
frames, and in any case it seemed like a safer first step to get this
working before removing code.  Yes, we should eventually clean this
up once this is tested and we figure out what the right way to do
the clean up.   I see little harm in leaving it stay for awhile.

I have not tried any testing with CONFIG_ATH9K_CHANNEL_CONTEXT=y and
I am not even sure what I would need to do to properly exercise that.

Please comment and/or test.

			-Tim Shepard
			 shep@alum.mit.edu

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH RFC/RFT 0/2] ath9k: use mac80211 intermediate software queues
@ 2016-03-04  1:06 ` Tim Shepard
  0 siblings, 0 replies; 2+ messages in thread
From: Tim Shepard @ 2016-03-04  1:06 UTC (permalink / raw)
  To: linux-wireless-u79uwXL29TY76Z2rM5mHXA
  Cc: michal.kazior-++hxYGjEMp0AvxtiuMwx3w,
	johannes-cdvu00un1VgdHxzADdlk8Q, netdev-u79uwXL29TY76Z2rM5mHXA,
	eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
	dave.taht-Re5JQEeQqe8AvxtiuMwx3w,
	emmanuel.grumbach-ral2JQCrhuEAvxtiuMwx3w,
	nbd-p3rKhJxN3npAfugRpC6u6w, andrewmcgr-hpIqsD4AKlfQT0dZR+AlfA,
	apenwarr-hpIqsD4AKlfQT0dZR+AlfA


Here is a patch in two parts to have ath9k make use the new
intermediate queues in mac80211.   It seems to work for me, but it
clearly needs more testing.

This should be useful to anyone who wants to try Michal's patch from
last week "mac80211: implement fq_codel for software queuing" as that
patch will not do anything unless you have a mac80211 driver that uses
the new mac80211 intermediate queues and indicates to mac80211 that
it does so by having a non-zero .wake_tx_queue method.

The first patch just renames the struct ath_txq in ath9k to be
struct ath_hwq and the renames the variables and fields holding a
pointer to it to be hwq  (instead of txq).

This first patch is IMHO needed because I had an earlier version of
this without renaming ath_txq and it was too mind bending to try and
keep straight which was ath9k's txq (which is per hardware queue)
and what was mac80211 txq (which is per station per tid).

The second patch changes ath9k to use the new mac80211 intermediate
software queues.

I left the existing ath9k software queue mechanisms in place. They
are used by the channel context code in some cases even for non-data
frames, and in any case it seemed like a safer first step to get this
working before removing code.  Yes, we should eventually clean this
up once this is tested and we figure out what the right way to do
the clean up.   I see little harm in leaving it stay for awhile.

I have not tried any testing with CONFIG_ATH9K_CHANNEL_CONTEXT=y and
I am not even sure what I would need to do to properly exercise that.

Please comment and/or test.

			-Tim Shepard
			 shep-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-03-04  1:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-04  1:06 [PATCH RFC/RFT 0/2] ath9k: use mac80211 intermediate software queues Tim Shepard
2016-03-04  1:06 ` Tim Shepard

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.