[PATCHv3 3/5] mac80211: add debug knobs for fair queuing

2016-04-14 Thread Michal Kazior
This adds a few debugfs entries and a module parameter to make it easier to test, debug and experiment. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- net/mac80211/debugfs.c| 77 +++ net/mac80211/debugfs_netdev.

Re: [patch] ath10k: add some sanity checks

2016-04-11 Thread Michal Kazior
On 11 April 2016 at 09:44, Dan Carpenter wrote: > Smatch complains that since "ev->peer_id" comes from skb->data that > means we can't trust it and have to do a bounds check on it to prevent > an array overflow. > > Fixes: 6942726f7f7b ('ath10k: add fast peer_map

Re: [PATCH 1/2] mac80211: implement fair queuing per txq

2016-04-11 Thread Michal Kazior
On 8 April 2016 at 06:37, Avery Pennarun <apenw...@gmail.com> wrote: > On Fri, Mar 25, 2016 at 5:27 AM, Michal Kazior <michal.kaz...@tieto.com> > wrote: >> mac80211's software queues were designed to work >> very closely with device tx queues. They are >> r

Re: [Make-wifi-fast] [PATCHv2 1/2] mac80211: implement fair queuing per txq

2016-04-06 Thread Michal Kazior
On 6 April 2016 at 08:03, Jonathan Morton <chromati...@gmail.com> wrote: > >> On 6 Apr, 2016, at 08:35, Michal Kazior <michal.kaz...@tieto.com> wrote: >> >> Packets can be destined to different stations/txqs. At enqueue time I >> do a partial hash of a pa

Re: [PATCHv2 1/2] mac80211: implement fair queuing per txq

2016-04-05 Thread Michal Kazior
On 5 April 2016 at 15:57, Johannes Berg <johan...@sipsolutions.net> wrote: > On Thu, 2016-03-31 at 12:28 +0200, Michal Kazior wrote: > >> +++ b/net/mac80211/codel.h >> +++ b/net/mac80211/codel_i.h > > Do we really need all this code in .h files? It seems very odd to

Re: mac80211 kasan splat, hacked 4.4.6+, ath10k with modified 10.4.3 fw

2016-04-04 Thread Michal Kazior
On 1 April 2016 at 17:56, Ben Greear wrote: > I saw this splat yesterday evening... Any ideas on what this could be? > > I'll add some bounds checking on the rate->idx in case that is the issue... > > > (gdb) l *(sta_set_rate_info_tx+0x1b3) > 0x38dcc is in

Re: [RFC] ath10k: implement dql for htt tx

2016-04-01 Thread Michal Kazior
Re-posting text only as it was blocked by most mailing list servers: The original attachment can be fetched at: http://kazikcz.github.io/dl/2016-04-01-flent-ath10k-dql.tar.gz On 25 March 2016 at 10:55, Michal Kazior <michal.kaz...@tieto.com> wrote: > On 25 March 2016 at 10:39, Mich

Re: Ath10k seems to be using stale mac80211 txq references.

2016-04-01 Thread Michal Kazior
On 31 March 2016 at 23:57, Ben Greear wrote: > On 03/31/2016 02:30 PM, Ben Greear wrote: >> >> hacked 4.4.6 (with most of linux.ath ath10k patches backported), hacked >> 10.4.3 firmware. >> >> I enabled kasan to help track down various bugs. This one has me a bit >>

Re: [PATCH 2/3] ath10k: Ensure peer_map references are cleaned up.

2016-04-01 Thread Michal Kazior
On 31 March 2016 at 22:59, wrote: [...] > @@ -812,6 +813,15 @@ static void ath10k_peer_cleanup(struct ath10k *ar, u32 > vdev_id) > ar->peer_map[peer_id] = NULL; > } > > + /* Double check that peer is properly

Re: [PATCH 1/3] ath10k: Ensure txrx-compl-task is stopped when cleaning htt-tx.

2016-04-01 Thread Michal Kazior
On 31 March 2016 at 22:59, wrote: > From: Ben Greear > > Otherwise, the txrx-compl-task may access some bad memory? > > Signed-off-by: Ben Greear > --- > drivers/net/wireless/ath/ath10k/htt_tx.c | 2 ++ > 1 file

Re: [PATCH 3/3] ath10k: Add BUG_ON if we over-write peer-map pointer.

2016-04-01 Thread Michal Kazior
On 31 March 2016 at 22:59, wrote: > From: Ben Greear > > Not sure this can happen, but seems like a reasonable sanity > check. > > Signed-off-by: Ben Greear > --- > drivers/net/wireless/ath/ath10k/txrx.c | 1 + > 1

[PATCHv2 0/2] mac80211: implement fq_codel

2016-03-31 Thread Michal Kazior
are concerned. I'll be posting a separate thread after this. This is based on mac80211-next/master (0a87cadbb54e1595a5f64542adb4c63be914d290). v2: * fix invalid ptr deref * fix compilation for backports Michal Kazior (2): mac80211: implement fair queuing per txq mac80211: expose some txq/fq

[PATCHv2 1/2] mac80211: implement fair queuing per txq

2016-03-31 Thread Michal Kazior
of fair queuing for now. More work is required to make sure drivers keep their device tx queues at minimum fill (instead of clogging them up until they're full regardless of link conditions). Only then the full effect of fair queuing will be observable. Signed-off-by: Michal Kazior <michal.

[PATCHv2 2/2] mac80211: expose some txq/fq internals and knobs via debugfs

2016-03-31 Thread Michal Kazior
Makes it easier to debug, test and experiment. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Notes: v2: * add moduleparam.h to tx.c (fixes broken compilation with backports) net/mac80211/debugfs.c| 86 +++ net/ma

IPv6: routing/forwarding/masking link-local addresses

2016-03-31 Thread Michal Kazior
Hi, The most commonly used framing/addressing in 802.11 is 3addr. This is how most Access Points work and Clients follow suit. However it is impossible to put a 3addr Client interface into a bridge because it's not possible to properly distinguish RA/TA/DA/SA addresses. There is 4addr framing

Re: [RFC] ath10k: implement dql for htt tx

2016-03-31 Thread Michal Kazior
On 30 March 2016 at 17:28, Ben Greear <gree...@candelatech.com> wrote: > On 03/30/2016 02:22 AM, Michal Kazior wrote: >> >> On 29 March 2016 at 17:54, Ben Greear <gree...@candelatech.com> wrote: >>> >>> On 03/29/2016 12:49 AM, Michal Kazior wrote: >

Re: [RFC] ath10k: implement dql for htt tx

2016-03-30 Thread Michal Kazior
On 30 March 2016 at 02:57, Dave Taht <dave.t...@gmail.com> wrote: > As a side note of wifi ideas complementary to codel, please see: > > http://blog.cerowrt.org/post/selective_unprotect/ > > On Tue, Mar 29, 2016 at 12:49 AM, Michal Kazior <michal.kaz...@tieto.com> >

Re: [RFC] ath10k: implement dql for htt tx

2016-03-30 Thread Michal Kazior
On 29 March 2016 at 17:54, Ben Greear <gree...@candelatech.com> wrote: > On 03/29/2016 12:49 AM, Michal Kazior wrote: > >>> if you are getting a pure codel result of 160ms, that means the >>> implementation is broken. But I think (after having read your >>>

Re: [RFC] ath10k: implement dql for htt tx

2016-03-29 Thread Michal Kazior
On 26 March 2016 at 17:44, Dave Taht wrote: > Dear Michal: [...] > I am running behind on this patch set, but a couple quick comments. [...] >> - no rrul tests, sorry Dave! :) > > rrul would be a good baseline to have, but no need to waste your time > on running it every

[RFC] ath10k: implement dql for htt tx

2016-03-25 Thread Michal Kazior
ead of immediate bump to max). More importantly I didn't observe it to make things much worse (yet). Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- I'm not sure yet if it's worth to consider this patch for merging per se. My motivation was to have something to prove mac80211 fq works a

[PATCH 1/2] mac80211: implement fair queuing per txq

2016-03-25 Thread Michal Kazior
of fair queuing for now. More work is required to make sure drivers keep their device tx queues at minimum fill (instead of clogging them up until they're full regardless of link conditions). Only then the full effect of fair queuing will be observable. Signed-off-by: Michal Kazior <michal.

[PATCH 0/2] mac80211: implement fq_codel

2016-03-25 Thread Michal Kazior
are concerned. I'll be posting a separate thread after this. This is based on mac80211-next/master (0a87cadbb54e1595a5f64542adb4c63be914d290). Michal Kazior (2): mac80211: implement fair queuing per txq mac80211: expose some txq/fq internals and knobs via debugfs include/net/mac80211.h

[PATCH 2/2] mac80211: expose some txq/fq internals and knobs via debugfs

2016-03-25 Thread Michal Kazior
Makes it easier to debug, test and experiment. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- net/mac80211/debugfs.c| 86 +++ net/mac80211/debugfs_netdev.c | 29 ++- net/mac80211/debugfs_sta.c

Re: [RFCv2 2/3] ath10k: report per-station tx/rate rates to mac80211

2016-03-24 Thread Michal Kazior
On 24 March 2016 at 13:23, Mohammed Shafi Shajakhan <moham...@codeaurora.org> wrote: > On Thu, Mar 24, 2016 at 08:49:12AM +0100, Michal Kazior wrote: >> On 24 March 2016 at 08:19, Mohammed Shafi Shajakhan >> <moham...@codeaurora.org> wrote: >> > Hi Michal, >

Re: [RFCv2 2/3] ath10k: report per-station tx/rate rates to mac80211

2016-03-24 Thread Michal Kazior
On 24 March 2016 at 08:19, Mohammed Shafi Shajakhan <moham...@codeaurora.org> wrote: > Hi Michal, > > On Wed, Mar 16, 2016 at 11:17:57AM +0100, Michal Kazior wrote: >> The rate control is offloaded by firmware so it's >> challanging to provide expected throughput

Re: [PATCH v2] ath10k: parse Rx MAC timestamp in mgmt frame for FW 10.4

2016-03-23 Thread Michal Kazior
On 23 March 2016 at 01:14, Peter Oh wrote: > > On 03/22/2016 04:14 PM, kbuild test robot wrote: >> >> Hi Peter, >> >> [auto build test WARNING on wireless-drivers-next/master] >> [also build test WARNING on v4.5 next-20160322] >> [if your patch is applied to the wrong git

Re: [RFCv2 0/3] mac80211: implement fq codel

2016-03-22 Thread Michal Kazior
On 21 March 2016 at 18:10, Dave Taht wrote: > thx. > > a lot to digest. > > A) quick notes on "flent-gui bursts_11e-2016-03-21T09*.gz" > > 1) the new bursts_11e test *should* have stuck stuff in the VI and VO > queues, and there *should* have been some sort of difference

Re: [Make-wifi-fast] [RFCv2 1/3] mac80211: implement fq_codel for software queuing

2016-03-22 Thread Michal Kazior
On 22 March 2016 at 02:35, David Lang <da...@lang.hm> wrote: > On Wed, 16 Mar 2016, Michal Kazior wrote: > >> Since 11n aggregation become important to get the >> best out of txops. However aggregation inherently >> requires buffering and queuing. Once variable >

Re: [RFCv2 0/3] mac80211: implement fq codel

2016-03-20 Thread Michal Kazior
ket loss in 250ms. Seeing a loss on UDP_RR and it stop for >> a while is "ok". >> Dave Täht >> Let's go make home routers and wifi faster! With better software! >> https://www.gofundme.com/savewifi >> >> >> On Wed, Mar 16, 2016 at 3:26 AM, Michal K

[PATCH] ath10k: fix null deref if device crashes early

2016-03-19 Thread Michal Kazior
If device failed to init during early probing (which is quite rare) it triggered driver to compute crc before ar->firmware was ready causing an oops. Fixes: 3e58044b61a9 ("ath10k: print crc32 checksums for firmware and board files") Signed-off-by: Michal Kazior <michal.

[PATCH 2/2] ath10k: fix pull-push tx threshold handling

2016-03-19 Thread Michal Kazior
This prevents tx hangs or hiccups if pull-push supporting firmware defines per-txq thresholds or switches modes dynamically. Fixes: 299468782d94 ("ath10k: implement wake_tx_queue") Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/a

Re: [RFCv2 0/3] mac80211: implement fq codel

2016-03-19 Thread Michal Kazior
TxOP 0 has a special meaning in the standard. For HT/VHT it means the it is actually limited to 5484us (mixed-mode) or 1us (greenfield). I suspect the BK/BE latency difference has to do with the fact that there's bulk traffic going on BE queues (this isn't reflected explicitly in the plots).

[PATCH 1/2] ath10k: fix tx hang

2016-03-19 Thread Michal Kazior
The wake_tx_queue/push_pending logic had a bug which could stop queues indefinitely effectivelly breaking traffic. Fixes: 299468782d94 ("ath10k: implement wake_tx_queue") Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 8

[PATCH 0/2] ath10k: fix tx hangs

2016-03-19 Thread Michal Kazior
Hi, My recent wake-tx-queue/pull-push related patches introduced a regression that can cause tx to hang under certain circumstances. Michal Kazior (2): ath10k: fix tx hang ath10k: fix pull-push tx threshold handling drivers/net/wireless/ath/ath10k/mac.c | 22 +++--- 1 file

Re: [PATCH v2 1/2] ath10k: Add support for ath10k_sta_statistics support

2016-03-18 Thread Michal Kazior
On 17 March 2016 at 12:20, Mohammed Shafi Shajakhan <moham...@codeaurora.org> wrote: > Hi Michal, > > On Thu, Mar 17, 2016 at 12:12:31PM +0100, Michal Kazior wrote: >> On 17 March 2016 at 11:48, Mohammed Shafi Shajakhan >> <moham...@qti.qualcomm.c

Re: [PATCH v2 1/2] ath10k: Add support for ath10k_sta_statistics support

2016-03-18 Thread Michal Kazior
On 17 March 2016 at 11:48, Mohammed Shafi Shajakhan wrote: [...] > +void ath10k_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif > *vif, > + struct ieee80211_sta *sta, > + struct station_info *sinfo) > +{ >

Re: [RFCv2 0/3] mac80211: implement fq codel

2016-03-16 Thread Michal Kazior
On 16 March 2016 at 11:17, Michal Kazior <michal.kaz...@tieto.com> wrote: > Hi, > > Most notable changes: [...] > * ath10k proof-of-concept that uses the new tx >scheduling (will post results in separate >email) I'm attaching a bunch of tests I've done using fl

[RFCv2 3/3] ath10k: use ieee80211_tx_schedule()

2016-03-16 Thread Michal Kazior
The wake_tx_queue() scheduling for non-pull-push (or threshold based pull-push) wasn't really smart nor fair. Instead use the new mac80211 Tx scheduling helper which is part of the fq-codel-in-mac80211 proof of concept. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drive

[RFCv2 2/3] ath10k: report per-station tx/rate rates to mac80211

2016-03-16 Thread Michal Kazior
-in-mac80211 tx scheduling purposes now. This patch uses a very hacky way to get the stats. This is sufficient for proof-of-concept but must be cleaned up properly eventually. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 5 +++ drive

[RFCv2 1/3] mac80211: implement fq_codel for software queuing

2016-03-16 Thread Michal Kazior
drivers. This bases on codel5 and sch_fq_codel.c. It may not be the Right Thing yet but it should at least provide a framework for more improvements. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- include/net/mac80211.h | 96 ++- net/mac80211/agg-tx.c | 8 +- net/ma

[RFCv2 0/3] mac80211: implement fq codel

2016-03-16 Thread Michal Kazior
peak throughput (lab conditions et al) yet. I've uploaded a branch for convenience: https://github.com/kazikcz/linux/tree/fqmac-rfc-v2 This is based on Kalle's ath tree. Michal Kazior (3): mac80211: implement fq_codel for software queuing ath10k: report per-station tx/rate rates

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-11 Thread Michal Kazior
On 10 March 2016 at 19:57, Dave Taht wrote: >>> regular fq_codel uses 1024 and there has not been much reason to >>> change it. In the case of an AP which has more limited memory, 256 or >>> 1024 would be a good setting, per station. I'd stick to 1024 for now. >> >> Do note

Re: [PATCH v4] ath10k: move mgmt descriptor limit handle under mgmt_tx

2016-03-08 Thread Michal Kazior
On 8 March 2016 at 18:25, Rajkumar Manoharan wrote: [...] > +int ath10k_htt_tx_mgmt_inc_pending(struct ath10k_htt *htt, bool is_mgmt, > + bool is_presp) > +{ > + struct ath10k *ar = htt->ar; > + > +

Re: [PATCH v4] ath10k: move mgmt descriptor limit handle under mgmt_tx

2016-03-08 Thread Michal Kazior
On 8 March 2016 at 18:25, Rajkumar Manoharan wrote: [...] > --- a/drivers/net/wireless/ath/ath10k/htt_rx.c > +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c > @@ -2326,7 +2326,12 @@ void ath10k_htt_t2h_msg_handler(struct ath10k *ar, > struct sk_buff *skb) >

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-08 Thread Michal Kazior
On 8 March 2016 at 14:14, Bob Copeland <m...@bobcopeland.com> wrote: > On Tue, Mar 08, 2016 at 08:12:21AM +0100, Michal Kazior wrote: >> However other drivers (e.g. ath10k) have offloaded rate control on >> device. There's currently no way of doing this calculation. I was &

Re: [PATCH v3] ath10k: move mgmt descriptor limit handle under mgmt_tx

2016-03-08 Thread Michal Kazior
On 8 March 2016 at 12:54, Rajkumar Manoharan wrote: [...] > +int ath10k_htt_tx_mgmt_inc_pending(struct ath10k_htt *htt, bool is_mgmt, > + bool is_presp) > { > struct ath10k *ar = htt->ar; > >

Re: [PATCH v2] ath10k: move mgmt descriptor limit handle under mgmt_tx

2016-03-08 Thread Michal Kazior
On 6 March 2016 at 08:47, Rajkumar Manoharan wrote: > Firmware reserves few descriptors for management frames transmission. > In 16 MBSSID scenario, these slots will be easy exhausted due to frequent > probe responses. So for 10.4 based solutions, probe responses are

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-08 Thread Michal Kazior
On 8 March 2016 at 00:06, Dave Taht wrote: > Dear Michal: > > Going through this patchset... (while watching it compile) > > > + if (!local->hw.txq_cparams.target) > + local->hw.txq_cparams.target = MS2TIME(5); > > MS2TIME(20) for now and/or add something

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-07 Thread Michal Kazior
On 7 March 2016 at 19:28, Dave Taht wrote: > On Mon, Mar 7, 2016 at 9:14 AM, Avery Pennarun wrote: >> On Mon, Mar 7, 2016 at 11:54 AM, Dave Taht wrote: [...] >>> the underlying code needs to be striving successfully for per-station

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-07 Thread Michal Kazior
will need a different set of knobs). > > ... > > Is this "per station" or per station, per 802.11e queue? What do you have in mind by "this"? Michał > > Dave Täht > Let's go make home routers and wifi faster! With better software! > https://www.go

Re: [PATCH v2 00/11] ath10k: implement push-pull tx model

2016-03-06 Thread Michal Kazior
On 6 March 2016 at 15:18, Valo, Kalle <kv...@qca.qualcomm.com> wrote: > Michal Kazior <michal.kaz...@tieto.com> writes: > >> This adds support for the new logic where host >> tells firmware how many frames are queued for each >> station/tid and then firmware ask

Re: [PATCH v2 07/11] ath10k: implement wake_tx_queue

2016-03-06 Thread Michal Kazior
On 6 March 2016 at 15:27, Valo, Kalle <kv...@qca.qualcomm.com> wrote: > Michal Kazior <michal.kaz...@tieto.com> writes: > >> This implements very basic support for software >> queueing. It also contains some knobs that will be >> patched later. >> &

Re: [PATCH 10/13] ath10k: implement flushing of pending frames in txqs

2016-03-04 Thread Michal Kazior
On 4 March 2016 at 10:17, Valo, Kalle <kv...@qca.qualcomm.com> wrote: > Michal Kazior <michal.kaz...@tieto.com> writes: > >> Firmware supporting pull-push tx model may request >> a switch between modes. When switching from >> pull-push to push-only it will

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-03 Thread Michal Kazior
On 4 March 2016 at 03:48, Tim Shepard wrote: [...] > (I am interested in knowing what other mac80211 drivers have been > modified to use the mac80211 intermediate software queues. I know > Michal mentioned he has patches for ath10k that are not yet released, > and I know

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-03-01 Thread Michal Kazior
On 1 March 2016 at 15:02, Johannes Berg <johan...@sipsolutions.net> wrote: > On Fri, 2016-02-26 at 14:09 +0100, Michal Kazior wrote: >> >> +typedef u64 codel_time_t; > > Do we really need this? And if yes, does it have to be in the public > header file? Why a typede

[PATCH 1/2] ath10k: fix HTT Tx CE ring size

2016-03-01 Thread Michal Kazior
QCA4019 can queue up to 2500 frames at a time. This means it requires roughly 5000 entires on the ring to work properly. Otherwise random tx failure may occur. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/ce.h | 2 +- 1 file changed, 1 ins

[PATCH 2/2] ath10k: change htt tx desc/qcache peer limit config

2016-03-01 Thread Michal Kazior
. However QCA99X0 is planned to run firmware supporting the feature as well. Therefore this patch enables QCA99X0 to use 2500 tx descriptors whenever possible instead of just 1424. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.

[PATCH v2 11/11] ath10k: implement push-pull tx

2016-03-01 Thread Michal Kazior
pull requests to host. This allows MU-MIMO to become a lot more effective with 10+ clients. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 1 + drivers/net/wireless/ath/ath10k/htt.h| 6 ++ drivers/net/wireless/ath/ath10k/ht

[PATCH v2 10/11] ath10k: keep track of queue depth per txq

2016-03-01 Thread Michal Kazior
This will be necessary for later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 1 + drivers/net/wireless/ath/ath10k/mac.c | 5 + drivers/net/wireless/ath/ath10k/txrx.c | 7 +++ 3 files changed, 13 insertions(+) diff --git a/d

[PATCH v2 09/11] ath10k: store txq in skb_cb

2016-03-01 Thread Michal Kazior
This will be necessary for later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 1 + drivers/net/wireless/ath/ath10k/mac.c | 19 +-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/net/wirele

[PATCH v2 05/11] ath10k: add fast peer_map lookup

2016-03-01 Thread Michal Kazior
firmware, which will be the only user of the code flow-wise, will guarantee to use low peer_ids first so despite peer_map's apparent huge size d-cache thrashing should not be a problem. Older firmware hot paths will effectively not use peer_map. Signed-off-by: Michal Kazior <michal.

[PATCH v2 03/11] ath10k: refactor tx pending management

2016-03-01 Thread Michal Kazior
(and thus long before HTT Tx functions are called) because once a frame is dequeued it cannot be requeud back to mac80211. This prepares the driver for future changes. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h| 7 ++- drivers/net/wi

[PATCH v2 06/11] ath10k: add new htt message generation/parsing logic

2016-03-01 Thread Michal Kazior
This merely adds some parsing, generation and sanity checks with placeholders for real code/functionality to be added later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h| 5 + drivers/net/wireless/ath/ath10k/htt_rx.c

[PATCH v2 07/11] ath10k: implement wake_tx_queue

2016-03-01 Thread Michal Kazior
This implements very basic support for software queueing. It also contains some knobs that will be patched later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Notes: v2: - squashed with `ath10k: add txq placeholder` - squashed with `ath10k: implement fl

[PATCH v2 08/11] ath10k: implement updating shared htt txq state

2016-03-01 Thread Michal Kazior
telling the host how many frames from a list of given stations/tids should be submitted to the firmware. The code won't be called because not all appropriate HTT events are processed yet. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h

[PATCH v2 04/11] ath10k: maintain peer_id for each sta and vif

2016-03-01 Thread Michal Kazior
) is for 10.4.3. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 2 ++ drivers/net/wireless/ath/ath10k/mac.c | 38 ++ 2 files changed, 40 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/core.h b/d

[PATCH v2 02/11] ath10k: unify txpath decision

2016-03-01 Thread Michal Kazior
Some future changes will need to determine final tx method early on. Prepare the code. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 58 +++ 1 file changed, 45 insertions(+), 13 deletions(-) diff

Re: [PATCH v5] ath10k: set MAC timestamp in management Rx frame

2016-02-29 Thread Michal Kazior
On 26 February 2016 at 20:03, Peter Oh wrote: > Check and set Rx MAC timestamp when firmware indicates it. > Firmware adds it in Rx beacon frame only at this moment. > Driver and mac80211 may utilize it to detect such clockdrift > or beacon collision and use the result for

Re: [RFC/RFT] mac80211: implement fq_codel for software queuing

2016-02-26 Thread Michal Kazior
On 26 February 2016 at 17:48, Felix Fietkau wrote: [...] >> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c >> index af584f7cdd63..f42f898cb8b5 100644 >> --- a/net/mac80211/tx.c >> +++ b/net/mac80211/tx.c >> + [...] >> +static void ieee80211_txq_enqueue(struct ieee80211_local

[RFC/RFT] mac80211: implement fq_codel for software queuing

2016-02-26 Thread Michal Kazior
queueing default internally in mac80211. This could help other drivers to get at least some benefit from mac80211 smarter queueing. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- include/net/mac80211.h | 36 - net/mac80211/agg-tx.c | 8 +- net/mac80211/c

Re: [PATCH v2] ath10k: set MAC timestamp in management Rx frame

2016-02-24 Thread Michal Kazior
On 23 February 2016 at 20:44, Peter Oh wrote: > From: poh > > Check and set Rx MAC timestamp when firmware indicates it. > Firmware adds it in Rx beacon frame only at this moment. > Driver and mac80211 may utilize it to detect such clockdrift > or

Re: [RFC v2] iwlwifi: pcie: transmit queue auto-sizing

2016-02-08 Thread Michal Kazior
On 5 February 2016 at 17:47, Dave Taht wrote: >> A bursted txop can be as big as 5-10ms. If you consider you want to >> queue 5-10ms worth of data for *each* station at any given time you >> obviously introduce a lot of lag. If you have 10 stations you might >> end up with

Re: [RFC v4] mac80211: add A-MSDU tx support

2016-02-08 Thread Michal Kazior
On 8 February 2016 at 12:09, Krishna Chaitanya wrote: > On Mon, Feb 8, 2016 at 3:56 PM, Emmanuel Grumbach wrote: >> On Mon, Feb 8, 2016 at 11:54 AM, Krishna Chaitanya >> wrote: >>> On Mon, Feb 8, 2016 at 2:56 PM, Emmanuel

Re: [RFC v2] iwlwifi: pcie: transmit queue auto-sizing

2016-02-05 Thread Michal Kazior
On 4 February 2016 at 22:14, Ben Greear wrote: > On 02/04/2016 12:56 PM, Grumbach, Emmanuel wrote: >> On 02/04/2016 10:46 PM, Ben Greear wrote: >>> On 02/04/2016 12:16 PM, Emmanuel Grumbach wrote: As many (all?) WiFi devices, Intel WiFi devices have

Re: mac80211_hwsim + iperf + netns

2016-02-04 Thread Michal Kazior
On 4 February 2016 at 12:22, Krishna Chaitanya wrote: > Hi All, > > I am trying to run some iperf tests using mac80211_hwsim b/w AP and STA. > Even after tweaking the routing table, the packets are still not going through > mac80211_hwsim instead they are just looping

Re: mac80211_hwsim + iperf + netns

2016-02-04 Thread Michal Kazior
On 4 February 2016 at 12:49, Krishna Chaitanya <chaitanya.m...@gmail.com> wrote: > On Thu, Feb 4, 2016 at 5:02 PM, Michal Kazior <michal.kaz...@tieto.com> wrote: >> On 4 February 2016 at 12:22, Krishna Chaitanya <chaitanya.m...@gmail.com> >> wrote: >>&g

[RFC] mac80211: introduce netdev queue control for txqs

2016-01-27 Thread Michal Kazior
per virtual interface. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Note: It is recommended to have the following patch applied in order to avoid conflicts: https://patchwork.kernel.org/patch/8134481/ net/mac80211/cfg.c | 5 +++ net/mac80211/ieee80211_i.h | 16 +

Re: [PATCH v2] mac80211: expose txq queue depth and size to drivers

2016-01-27 Thread Michal Kazior
On 27 January 2016 at 15:26, Johannes Berg <johan...@sipsolutions.net> wrote: > On Wed, 2016-01-27 at 15:26 +0100, Michal Kazior wrote: >> >> @@ -1294,6 +1298,8 @@ struct sk_buff *ieee80211_tx_dequeue(struct >> ieee80211_hw *hw, >> if (!skb) >>

[RFC] mac80211: introduce netdev queue control for txqs

2016-01-27 Thread Michal Kazior
per virtual interface. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Note: It is recommended to have the following patch applied in order to avoid conflicts: https://patchwork.kernel.org/patch/8134481/ I'm re-sending this with netdev in Cc as per Johannes' suggestion. net

[PATCH v2] mac80211: expose txq queue depth and size to drivers

2016-01-27 Thread Michal Kazior
not possible to know how long byte-wise queue was without dequeueing. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Notes: v2: * export a dedicated API call to get both frame/byte counts to reduce redundancy and offer possible synchronized reads in the

Re: [PATCH 2/2] mac80211: expose txq queue depth and size to drivers

2016-01-26 Thread Michal Kazior
On 26 January 2016 at 11:45, Felix Fietkau <n...@openwrt.org> wrote: > On 2016-01-21 14:23, Michal Kazior wrote: >> This will allow drivers to make more educated >> decisions whether to defer transmission or not. >> >> Relying on wake_tx_queue() call count impli

Re: [PATCH 13/13] ath10k: implement push-pull tx

2016-01-26 Thread Michal Kazior
On 22 January 2016 at 08:47, Michal Kazior <michal.kaz...@tieto.com> wrote: > On 21 January 2016 at 18:40, Peter Oh <p...@codeaurora.org> wrote: >> On 01/21/2016 05:46 AM, Michal Kazior wrote: [...] >>> - /* TODO: apply configuration

Re: [PATCH 2/2] mac80211: expose txq queue depth and size to drivers

2016-01-26 Thread Michal Kazior
On 26 January 2016 at 13:04, Felix Fietkau <n...@openwrt.org> wrote: > On 2016-01-26 12:56, Michal Kazior wrote: >> On 26 January 2016 at 11:45, Felix Fietkau <n...@openwrt.org> wrote: >>> On 2016-01-21 14:23, Michal Kazior wrote: >>>> This will allow dr

Re: [PATCH 1/2] mac80211: fix txq queue related crashes

2016-01-25 Thread Michal Kazior
On 25 January 2016 at 18:59, Ben Greear <gree...@candelatech.com> wrote: > On 01/21/2016 05:23 AM, Michal Kazior wrote: >> >> The driver can access the queue simultanously >> while mac80211 tears down the interface. Without >> spinlock protection this could l

[PATCH] mac80211: fix unnecessary frame drops in mesh fwding

2016-01-25 Thread Michal Kazior
!) Fixes: d3c1597b8d1b ("mac80211: fix forwarded mesh frame queue mapping") Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- net/mac80211/rx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index ae993edfdecf..664

Re: [PATCH 0/5] ath10k: add basic hostq support

2016-01-21 Thread Michal Kazior
On 21 January 2016 at 14:13, Michal Kazior <michal.kaz...@tieto.com> wrote: > There's a new firmware feature which uses a shared > DMA memory so host can share it's per-sta per-tid > queue size which is then subsequently used for > firmware to assist in deciding w

[PATCH 00/13] ath10k: implement push-pull tx model

2016-01-21 Thread Michal Kazior
/147504 I'm posting this prior to the above getting merged to get early feedback. For convienence I'm providing a branch on github which contains all dependencies and the patchset itself: https://github.com/kazikcz/linux/tree/ath10k-pull-push Michal Kazior (13): ath10k: refactor tx code ath10k

[PATCH 02/13] ath10k: unify txpath decision

2016-01-21 Thread Michal Kazior
Some future changes will need to determine final tx method early on. Prepare the code. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 58 +++ 1 file changed, 45 insertions(+), 13 deletions(-) diff

[PATCH 5/5] ath10k: implement basic support for new tx path firmware

2016-01-21 Thread Michal Kazior
. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h| 8 +++ drivers/net/wireless/ath/ath10k/htt_rx.c | 4 +- drivers/net/wireless/ath/ath10k/htt_tx.c | 88 +--- 3 files changed, 91 insertions(+), 9 deletions(-) diff

[PATCH 4/5] ath10k: clean up cont frag desc init code

2016-01-21 Thread Michal Kazior
This makes the code easier to extend and re-use. While at it fix _warn to _err. Other than that there are no functional changes. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- Notes: v2: * fix gfp allocation [Ben] drivers/net/wireless/ath/ath10k/htt_tx.

[PATCH 2/5] ath10k: add new htt definitions

2016-01-21 Thread Michal Kazior
These definitions are associated with some improvements upcomming for 10.4 and QCA99X0. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h | 153 +- 1 file changed, 150 insertions(+), 3 deletions(-) diff

[PATCH 0/5] ath10k: add basic hostq support

2016-01-21 Thread Michal Kazior
the firmware supporting the feature happy and running at all. Without it firmware would freeze shortly after booting. More patches will follow some time later to add the "new data path" logic. v2: * fix gfp allocation [Ben] Michal Kazior (5): ath10k: rename some HTT events ath10k: a

[PATCH 3/5] ath10k: add new FW_FEATURE_PEER_FLOW_CONTROL

2016-01-21 Thread Michal Kazior
. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.c | 1 + drivers/net/wireless/ath/ath10k/core.h | 9 + 2 files changed, 10 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c

[PATCH 1/5] ath10k: rename some HTT events

2016-01-21 Thread Michal Kazior
New names make a bit more sense. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.c| 8 drivers/net/wireless/ath/ath10k/htt.h| 8 drivers/net/wireless/ath/ath10k/htt_rx.c | 4 ++-- 3 files changed, 10 insertions(

[PATCH 2/2] mac80211: expose txq queue depth and size to drivers

2016-01-21 Thread Michal Kazior
not possible to know how long byte-wise queue was without dequeueing. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- include/net/mac80211.h | 4 net/mac80211/iface.c| 2 ++ net/mac80211/sta_info.c | 2 ++ net/mac80211/tx.c | 11 ++- 4 files chang

[PATCH 1/2] mac80211: fix txq queue related crashes

2016-01-21 Thread Michal Kazior
ation") Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- net/mac80211/iface.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 33ae3c81bfc5..0451f120746e 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -977,7 +

[PATCH 06/13] ath10k: add new htt message generation/parsing logic

2016-01-21 Thread Michal Kazior
This merely adds some parsing, generation and sanity checks with placeholders for real code/functionality to be added later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h| 5 + drivers/net/wireless/ath/ath10k/htt_rx.c

[PATCH 04/13] ath10k: maintain peer_id for each sta and vif

2016-01-21 Thread Michal Kazior
) is for 10.4.3. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 2 ++ drivers/net/wireless/ath/ath10k/mac.c | 38 ++ 2 files changed, 40 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/core.h b/d

[PATCH 03/13] ath10k: refactor tx pending management

2016-01-21 Thread Michal Kazior
(and thus long before HTT Tx functions are called) because once a frame is dequeued it cannot be requeud back to mac80211. This prepares the driver for future changes. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/htt.h| 7 ++- drivers/net/wi

[PATCH 12/13] ath10k: keep track of queue depth per txq

2016-01-21 Thread Michal Kazior
This will be necessary for later. Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> --- drivers/net/wireless/ath/ath10k/core.h | 2 +- drivers/net/wireless/ath/ath10k/mac.c | 5 + drivers/net/wireless/ath/ath10k/txrx.c | 7 +++ 3 files changed, 13 insertions(+), 1 deletion(-)

<    1   2   3   4   5   6   7   >