Slow Wifi... getting closer
dave at aeryon.com
Fri Feb 27 12:39:59 EST 2009
Ok, so I'm getting much closer to the root of this wifi slow down with
local UDP traffic. I've tried putting printk's in the lbs_thread to see
how often it was being called, but this alone slows down traffic
dramatically. My theory is that this is due to the fact that the printk
hands the task of printing and logging this message to another kernel
thread and this, therefore, mucks up the thread scheduling of the
lbs_main thread, resulting in slow transfers.
To decouple the printk's from the scheduling problem, I've set up the
driver to blink an LED each time it enters the lbs_main thread. So, I
begin a transfer, and see lots of blinking activity. When I start the
UDP test this grinds to a halt - indicating that the thread is not being
scheduled as often as it should.
Anyone got any suggestions on what can be done to make sure this thread
gets scheduled with higher priority? Trying a sched_setscheduler causes
an Oops, and I don't have any RT patches installed to play with that stuff.
More information about the libertas-dev