Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-31 Thread Johan Almbladh
On Wed, Nov 19, 2014 at 12:14 AM, Felix Fietkau wrote: > > +static void ieee80211_drv_tx(struct ieee80211_local *local, > +struct ieee80211_vif *vif, > +struct ieee80211_sta *pubsta, > +struct sk_buff *skb) > +{ >

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-16 Thread Felix Fietkau
On 2014-12-16 00:25, Bartosz Szczepanek wrote: > As for drv_wake_tx_queue and ieee80211_tx_dequeue - is it really > necessary? There are ieee80211_tx_status and ieee80211_free_txskb > already, which can be used to decide from mac80211 level when to > dequeue packet. It could be used even in case of

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-15 Thread Bartosz Szczepanek
As for drv_wake_tx_queue and ieee80211_tx_dequeue - is it really necessary? There are ieee80211_tx_status and ieee80211_free_txskb already, which can be used to decide from mac80211 level when to dequeue packet. It could be used even in case of drivers that are not aware of new mechanism at all. We

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-15 Thread Johannes Berg
On Fri, 2014-12-12 at 15:28 +0100, Felix Fietkau wrote: > > Management (and maybe control) frames can have different priorities as > > well, this is only used for something with TDLS now I think though. > With my implementation, those would go through the normal tx codepath, > bypassing the softwa

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-12 Thread Felix Fietkau
On 2014-12-12 15:01, Johannes Berg wrote: > On Fri, 2014-12-12 at 14:40 +0100, Felix Fietkau wrote: > >> > Then >> > again what even sets vif->txq? Shouldn't those be per-AC? Do you really >> > want to mix 'normal' and txq-TX? >> Are we even using multiple ACs for packets that don't belong to a >>

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-12 Thread Johannes Berg
On Fri, 2014-12-12 at 14:40 +0100, Felix Fietkau wrote: > > Then > > again what even sets vif->txq? Shouldn't those be per-AC? Do you really > > want to mix 'normal' and txq-TX? > Are we even using multiple ACs for packets that don't belong to a > particular sta? I thought normal mcast data frames

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-12 Thread Felix Fietkau
On 2014-12-12 14:21, Johannes Berg wrote: > On Wed, 2014-11-19 at 00:14 +0100, Felix Fietkau wrote: > >> +struct txq_info *txq; >> +atomic_t txq_len[IEEE80211_NUM_ACS]; > > I think you should consider renaming the latter to txqs_len or so - it > doesn't just cover one txq as is be implied

Re: [PATCH] mac80211: add an intermediate software queue implementation

2014-12-12 Thread Johannes Berg
On Wed, 2014-11-19 at 00:14 +0100, Felix Fietkau wrote: > + struct txq_info *txq; > + atomic_t txq_len[IEEE80211_NUM_ACS]; I think you should consider renaming the latter to txqs_len or so - it doesn't just cover one txq as is be implied by the name now. Otherwise the skb_queue_head also

[PATCH] mac80211: add an intermediate software queue implementation

2014-11-18 Thread Felix Fietkau
This allows drivers to request per-vif and per-sta-tid queues from which they can pull frames. This makes it easier to keep the hardware queues short, and to improve fairness between clients and vifs. The task of scheduling packet transmission is left up to the driver - queueing is controlled by m