[alsa-devel] Recent Alsa, 100% CPU with mixer

Alan Horstmann gineera at aspect135.co.uk
Tue Nov 22 18:07:46 CET 2011


Hi,

It's evidently been too long since I built and tested a recent Alsa on 
machines here.  Having got 1.0.24 to load I am seeing a number of issues, 
which I am trying to separate, with some difficulty.  Thus I have also built 
several previous versions for comparison.

Alsa-1.0.20 seems to be fine as far as I have been able to test.

Alsa-1.0.22 is OK, running ice1712 and au8820 modules, except that the 
alsamixer ice1712 ADC and DAC controls will go down to a negative number and 
then cannot be raised again.  Using envy24control the ranges just show as 
0-127 (eg DACs) and can raise them back up.  So there's a bug but it can be 
worked around to get working sound.

With 1.0.23 and 1.0.24 the driver also loads and works.  But running any 
version of alsamixer causes 100% CPU, although the mixer is itself able to 
function and shows the same bug as 1.0.22.  There are no console messages.  
And envy24control does not load properly, stalling before creating it's mixer 
window.  Thus it is not possible to raise the volumes and get any sound from 
the ice1712 card. The au8820 does function, in-spite of the 100%CPU, and the 
volumes can be raised with alsamixer and sound played OK.  So it is possible 
that without the alsamixer levels bug the ice1712 would also play sound?

The 100% CPU behaviour is the most tricky to start with.  Can you give any 
suggestions to identify the cause?  This is the 2.4.21-99 kernel.

Running with strace, I was able to catch this output on the konsole, in case 
it indicates anything:-

select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1321980134, 190869}, NULL) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {0x401768f0, [], SA_RESTORER|SA_RESTART, 
0x401e5aa8}, 8) = 0
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
rt_sigaction(SIGTSTP,0x401768f0, [], SA_RESTORER|SA_RESTART, 0x401e5aa8}, 
NULL, 8) = 0
poll([{fd=0, events=POLLIN}, {fd=3, events=POLLIN|POLLERR|POLLNVAL, 
revents=POLLIN}], 2, -1) = 1
read(3, 0xbffff130, 72)                 = -1 EAGAIN (Resource temporarily 
unavailable)
gettimeofday({1321980134, 192090}, NULL) = 0
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1321980134, 192404}, NULL) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {0x401768f0, [], SA_RESTORER|SA_RESTART, 
0x401e5aa8}, 8) = 0
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
rt_sigaction(SIGTSTP, {0x401768f0, [], SA_RESTORER|SA_RESTART, 0x401e5aa8}, 
NULL, 8) = 0

Thanks,

Alan



More information about the Alsa-devel mailing list