[rt2x00-users] [PATCH RFC] rt2800usb: TX_STA_FIFO read timer

Johannes Stezenbach js at sig21.net
Tue Jan 11 03:32:27 EST 2011


Hi Helmut,

On Mon, Jan 10, 2011 at 05:00:09PM +0100, Helmut Schaa wrote:
> Am Montag, 10. Januar 2011 schrieb Johannes Stezenbach:
> > as discussed some time ago my previous patch
> > "rt2800usb: read TX_STA_FIFO asynchronously"
> > (in rt2x00/experimental) makes it more likely
> > for TX_STA_FIFO entries to be stuck in the FIFO until
> > the watchdog picks them up, because the TX_STA_FIFO read
> > is now happening quicker after TX DMA is done.
> 
> Nice. Did you do any performance measurements again?

Not yet, I'm still testing with debug output
until I have confirmed it works correctly.  I just
hit an endless loop of

[19608.093097] rt2800usb_tx_sta_fifo_timeout                        
[19608.097467] rt2800usb_tx_sta_fifo_read_completed: pending        
[19608.103107] rt2800usb_tx_sta_fifo_timeout
[19608.107473] rt2800usb_tx_sta_fifo_read_completed: pending

so I guess I have to catch the case when a TX status
FIFO entry is lost (rt2800usb_txstatus_pending() will
always return true).  And this reminded me that the
watchdog does not catch this case anymore
because rt2800_txdone() won't do anything when
the txstatus_fifo is empty...

> > In theory it shouldn't take that long to send a packet but the
> > debug output suggests otherwise so I picked 10ms for the timeout.
> > I guess there is a lot of traffic from other APs in the neighbourhood
> > on the same channel.
> 
> It can easily take >= 10ms, depending on the channel utilization and,
> number of retries etc.
> 
> IMHO 10ms is a safe value.

OK, thanks.


Johannes



More information about the users mailing list