page fault panic tracked down (selwakeuppri())

Don Lewis truckman at FreeBSD.org
Sun Jan 4 14:24:34 PST 2004


On  4 Jan, Stefan Ehmann wrote:
> On Sat, 2004-01-03 at 05:01, Don Lewis wrote:
>> I wouldn't rule out the dsp, since you audio player software may be
>> calling select() on the fd for the audio device.  You might want to back
>> out Bruce's quick hack and change the second argument to selwakeuppri()
>> to -1 in chn_wakeup() in dev/sound/pcm/channel.c.
>> 
>> Is your kernel compiled with the INVARIANTS and INVARIANTS_SUPPORT
>> options?
>> 
>> Something else that I noticed is that the CHN_LOCKASSERT macro has an
>> empty definition in dev/sound/pcm/channel.h.  You might want to try
>> defining it as
>> 	mtx_assert((struct mtx *)((c)->lock), MA_OWNED)
>> 
>> I still don't see any obvious cause for this problem.
> 
> I took out the debug options because it was just too slow. Put back
> INVARIANTS (but no WITNESS) now and speed is nice again.

This problem is more likely to be caught by INVARIANTS than WITNESS.

> Applied your suggested changes which resulted in a panic. No
> assertations were triggered though.

Bummer!



More information about the freebsd-current mailing list