Search Linux Wireless

Re: [PATCH] mt76: introduce q->stopped parameter

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

 



> On Wed, Feb 27, 2019 at 10:40:41PM +0100, Lorenzo Bianconi wrote:
> > @@ -289,9 +290,14 @@ mt76_tx(struct mt76_dev *dev, struct ieee80211_sta *sta,
> >  	dev->queue_ops->tx_queue_skb(dev, q, skb, wcid, sta);
> >  	dev->queue_ops->kick(dev, q);
> >  
> > -	if (q->queued > q->ndesc - 8)
> > -		ieee80211_stop_queue(dev->hw, skb_get_queue_mapping(skb));
> > +	stop = q->queued > q->ndesc - 8 && !q->stopped;
> > +	if (stop)
> > +		q->stopped = true;
> > +
> >  	spin_unlock_bh(&q->lock);
> > +
> > +	if (stop)
> > +		ieee80211_stop_queue(dev->hw, skb_get_queue_mapping(skb));
> 
> I don't think taking this outside of spin_lock section is beneficial.
> Actually is better to do this faster than slower to prevent enqueue
> frames by mac80211 and then dropped them due to lack of space in
> mt76 queue.

ack, I will send a v2 moving it back.

Regards,
Lorenzo

> 
> Stanislaw

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