Search Linux Wireless

Re: Scan while TX/RX'ing a lot of data

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

 



On Wed, 2009-05-20 at 13:41 +0200, Helmut Schaa wrote:
> Am Dienstag, 19. Mai 2009 schrieb Johannes Berg:
> > On Mon, 2009-05-18 at 15:43 +0200, Helmut Schaa wrote:
> 
> > > One solution would be to force all drivers to report the tx status. Another
> > > one would be to just wait until the device's queue is empty. At that point
> > > we know that all pending data frames were sent out and additionally the
> > > nullfunc frame was also sent out, so we can safely switch to the next
> > > to-be-scanned channel.
> > 
> > Some drivers now flush queues at channel switch time, but there's no way
> > to guarantee that the software queues are actually empty and the
> > nullfunc frame isn't queued up behind other traffic. Also, waiting for
> > any driver to report a status will lead to problems because the driver
> > might just have dropped the frame for various reasons like being out of
> > memory.
> 
> Hmm, the problem is basically (from a mac80211 perspective) that the
> mdev tx queue could still contain data frames when the nullfunc frame
> gets queued, right? And we do not assure that these frames are sent
> out before the channel switch.
> 
> Hence, would it be possible to:
> 1) Stop all sub_if tx queues (afterwards no new data frames should
>    appear in the mdev tx queue)
> 2) Queue the nullfunc frame
> 3) Flush the mdev's tx queue
> 4) Switch the channel
> ?

I don't think that is sufficient, unless the driver also flushes the
hardware queue at channel switch time. Which we may want to make
explicit with a new callback or so?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux