[alsa-devel] Recent Alsa, 100% CPU with mixer
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
participants (1)
-
Alan Horstmann