[PATCH] b43: avoid packet losses in the dma worker code.

Rafał Miłecki zajec5 at gmail.com
Thu Dec 15 11:31:02 EST 2011


W dniu 15 grudnia 2011 16:54 użytkownik
<francesco.gringoli at ing.unibs.it> napisał:
> On Dec 15, 2011, at 12:29 PM, Rafał Miłecki wrote:
>
>> 2011/12/15  <francesco.gringoli at ing.unibs.it>:
>>> This patch addresses a bug in the dma worker code that keeps draining
>>> packets even when the hardware queues are full. In such cases packets
>>> can not be passed down to the device and are erroneusly dropped by the
>>> code.
>>>
>>> This problem was already discussed here
>>>
>>> http://www.mail-archive.com/b43-dev@lists.infradead.org/msg01413.html
>>>
>>> and acknowledged by Michael.
>>>
>>> The patch also introduces separate workers for each hardware queues
>>> and dedicated buffers where storing packets from mac80211 before sending
>>> them down to the hardware.
>>
>> Have you considered just a one worked iterating over queues?
>>
>> I'm not sure if it's efficient to have so many workers, each can be
>> stopped&resumed, each is taking wl mutex...
> We were thinking about this issue and at the end we decided to implement this way because of fairness issues among the queues. We tried some dequeuing algorithms (i.e., round robin and priority) but they were all benefitting one of the queues.

Is that possible you'll share that patch? Just to see how did you
resolve dequeuing in case of multiple queues and 1 worker? I don't
think it should really differ from 4 workers.

-- 
Rafał



More information about the b43-dev mailing list