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