At Tue, 3 Dec 2002 13:21:41 +0100, Duncan Sands wrote: > > On Tuesday 03 December 2002 19:34, Paul Davis wrote: > > >I guess another way of dealing with this kind of problem is to use a > > >semaphore rather than a spinlock, and a workqueue: when the interrupt > > >comes in, the call to snd_ctl_notify is put on the queue, where it will > > > later be run in process context, and can safely take the semaphore. > > > > can i get a pointer to some code that does this? we need to do this > > for handling MIDI I/O in the hammerfall dsp driver. doing it from > > the interrupt handler causes audio dropouts because the midi i/o is so > > much slower. > > For the use of workqueues (introduced in 2.5), see > http://lwn.net/Articles/11360/ > and > http://lwn.net/Articles/10963/
thanks for pointers! i believe the tasklet would be enough for a task like the midi handler, too. regarding to the workqueue, it can be used for a new stuff to shutdown the module asynchronously for hotplug, which Jaroslav added recently. the current implementation is invoking a kernel thread directly. with the workqueue, the code would be much simpler (although there is another issue for compatibility with older kernels :) Takashi ------------------------------------------------------- This SF.net email is sponsored by: Microsoft Visual Studio.NET comprehensive development tool, built to increase your productivity. Try a free online hosted session at: http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel