Re: [PATCH] azt3328 fatal deadlock fix (very rare, though)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Jun 21, 2006 at 12:33:08PM +0200, Takashi Iwai wrote:
> At Wed, 21 Jun 2006 10:32:34 +0200,
> Andreas Mohr wrote:
> > 
> > Hi all,
> > 
> > while listening to my 315th MP3 file played on this soundcard I had the
> > extreme mispleasure of experiencing a complete lockup of my box right
> > during shutdown of this file's playback, not even Magic SysRq worked
> > (characteristic sign of spinlock conflicts).
> > 
> > I determined that it must have been the combination of not doing the _irqsave()
> > variant in the playback trigger function and then having another IRQ occur
> > (which tried to spinlock again, against the active lock in the playback trigger
> > function). By always doing _irqsave() everywhere we also don't need separate
> > locking in the IRQ handler any more (managed to reduce CPU load, too).
> 
> I don't understand this.  The local irq is already disabled in either
> snd_pcm_lib_write1() or snd_pcm_lib_read1() that are the sole callers
> of snd_pcm_start().  Ditto for snd_pcm_stop().

Argh, then I'm not sure what's wrong.
Facts:
- my fix is a best guess about the crash cause, not true knowledge
- there's no way to prove that my fix corrected the problem (very rare bug)
- the system locked up *directly* during closing of this MP3 file's playback
  (this would strongly point towards trigger functions)
- Magic SysRq didn't work -> locking problem. Hmm, or does an IRQ storm also
  block SysRq processing totally? If so, then that may have been the problem here
  (maybe there's an interrupt reason which I'm not properly ACKing yet)

Andreas


_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux