On Dec 15, 2011, at 12:29 PM, Rafał Miłecki wrote:

> 2011/12/15  <francesco.gring...@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. With four workers instead the tests we made with iperf-udp 
showed to perfectly share the bandwidth among the queues obeying to the 
contention window parameters at the air interface.

Thanks for the comments about the previous patch: I changed it a bit and I'm 
going to post V2.

-Francesco

> 
> -- 
> Rafał


_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to