2010/6/10 Bruno Randolf <b...@einfach.org>:
> On Wednesday 09 June 2010 22:42:27 Bob Copeland wrote:
>> On Wed, Jun 9, 2010 at 3:40 AM, Bruno Randolf <b...@einfach.org> wrote:
>> > hey, i guess something like this must be happening...
>> >
>> > i think we have to avoid tasklets being run concurrently to a reset.
>> > so does this patch help?
>>
>> Heh, I made a similar patch this morning before I saw this.  I think
>> the worst problem is that reset can run in almost any context, so
>> IMO we should:
>>
>> 1. Keep other tasklets as tasklets for now, but disable/enable them inside
>>    reset as in this patch
>> 2. Make restq run from a workqueue instead of tasklet.  Then we can avoid
>>    concurrent resets by taking sc->lock mutex (and exclude ops->config
>>    etc...)
>> 3. Corrolary to #1, run calibration from a workqueue, since it calls reset.
>>
>> That gets us back down to just 3 tasklets and they are only things that
>> are interrupt-like rather than random threads.  Deferring calibration and
>> reset to the scheduler for the cases that are currently tasklets shouldn't
>> matter at all.  We can switch the others to threaded interrupt handlers or
>> whatever at our leisure.
>
> hi bob!
>
> sounds like a good plan... do you have time to do that?
>
> concerning 3.) i would like to find a way to avoid calibration having to call
> reset. afaik we just do that only to load new gain values. maybe there is a
> way to do that without having to go thru a full reset??? also the calibration
> tasklet could schedule a work queue for reset, right? anyhow it seems to me
> that moving things to work queues and process context in general will make
> locking much easier.
>
> also do we really have to do a full reset on a channel change???
>
> could we improve background scanning? right now it will make us loose
> packets...
>
> bruno


Give me some time, exams finish on 20/6 and then i'll go on
splitting/cleaning up reset (adding smaller reset functions for each
unit + a synth only channel change) and post some other patches i have
pending. I just need to get my old testbed back to test all cards.



-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to