Sound performance problems in FreeBSD

Suleiman Souhlal ssouhlal at FreeBSD.org
Fri Sep 10 06:31:35 PDT 2004


Hi,

>   FYI, after a few IRC discussions with Markus, we've discovered that 
> turning off the memory part of Gnome's System Monitor applet, would 
> get rid of the skips. I believe the problem is that both sysctl and 
> the sound drivers are Giant-locked, and so there is some contention. 
> An easy way to reproduce these
> skips is to run `while true; do sysctl vm.vmtotal; done`, while 
> playing an mp3.

In case you are interested, we've confirmed that Giant contention is 
the problem: Applying the hack at 
http://people.freebsd.org/~ssouhlal/giantless-sysctl.diff , which 
removes Giant from sysctl, seems to stop the skips when running the 
above command. Of course, it doesn't prevent skips from happening 
during heavy file operation, which would probably require VFS locking 
(or of course, locking the sound drivers, which is probably easier), 
and maybe, a better disk scheduler.

--
Suleiman Souhlal     | ssouhlal at vt.edu
The FreeBSD Project  | ssouhlal at FreeBSD.org



More information about the freebsd-current mailing list