Search Linux Wireless

Re: [PATCH] mt76: remove empty flag in mt76_txq_schedule_list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Thu, Aug 22, 2019 at 01:50:52PM +0200, Lorenzo Bianconi wrote:
> > > On Thu, Aug 22, 2019 at 11:49:10AM +0200, Lorenzo Bianconi wrote:
> > > > Remove empty flag in mt76_txq_schedule_list and mt76_txq_send_burst
> > > > since we just need retry_q length to notify mac80211 to reschedule the
> > > > current tx queue
> > > > 
> > > > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> > > > ---
> > > >  drivers/net/wireless/mediatek/mt76/tx.c | 23 +++++++----------------
> > > >  1 file changed, 7 insertions(+), 16 deletions(-)
> > > > 
> > > > diff --git a/drivers/net/wireless/mediatek/mt76/tx.c b/drivers/net/wireless/mediatek/mt76/tx.c
> > > > index d7982aa83c11..51d69329ed06 100644
> > > > --- a/drivers/net/wireless/mediatek/mt76/tx.c
> > > > +++ b/drivers/net/wireless/mediatek/mt76/tx.c
> > > > @@ -378,7 +378,7 @@ EXPORT_SYMBOL_GPL(mt76_release_buffered_frames);
> > > >  
> > > >  static int
> > > >  mt76_txq_send_burst(struct mt76_dev *dev, struct mt76_sw_queue *sq,
> > > > -		    struct mt76_txq *mtxq, bool *empty)
> > > > +		    struct mt76_txq *mtxq)
> > > >  {
> > > >  	struct ieee80211_txq *txq = mtxq_to_txq(mtxq);
> > > >  	enum mt76_txq_id qid = mt76_txq_get_qid(txq);
> > > > @@ -392,16 +392,12 @@ mt76_txq_send_burst(struct mt76_dev *dev, struct mt76_sw_queue *sq,
> > > >  	bool probe;
> > > >  	int idx;
> > > >  
> > > > -	if (test_bit(MT_WCID_FLAG_PS, &wcid->flags)) {
> > > > -		*empty = true;
> > > > +	if (test_bit(MT_WCID_FLAG_PS, &wcid->flags))
> > > >  		return 0;
> > > 
> > > This changes behaviour for station in PS state. If retry_q is not
> > > empty, now we will be rescheduling tx queue for STA in PS mode.
> > > Not sure if this is problem or not, though.
> > 
> > good point..looking at the code it seems not a issue since we will not actually
> > tx frames for PS stations. What do you think?
> 
> I do not see how changing this could possibly break things, but it 
> was explicitly added by below commit, with changelog sugesting it is
> needed:
> 
> commit d225581df3147060bc99e931b11f7cf2dcb1b2ca
> Author: Felix Fietkau <nbd@xxxxxxxx>
> Date:   Mon Jan 21 17:33:38 2019 +0100
> 
>     mt76: avoid scheduling tx queues for powersave stations
>     
>     In case a tx queue wake call arrives after a client has transitioned to
>     powersave, make sure that the queue is not kept active until the client
>     has left powersave mode
> 
> Stanislaw

This is exactly what I am saying, we need the 'if block' in mt76_txq_send_burst
in order to avoid scheduling tx queue for station in powersave but the empty
flag seems not necessary.

Regards,
Lorenzo

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux