Interesting race between cpufreq_ondemand and snd_atiixp
Hi;
One of our colleagues found following problem with his old laptop while testing Linus's latest git with external alsa-driver (v1.0.14). And we can also reproduce same problem with 2.6.18.8 so it seems not a new regression (if it is a regression).
As a summary "sound stops to work if cpufreq_ondemand governor is used" on that laptop. Problem occurs only if cpufreq_* modules are loaded and %100 reproducable if system configured for ondemand governor.
Here are the steps to reproduce the problem on that laptop;
1. Boot system with cpufreq_* modules blacklisted
strace -o log -f -tttTTT mpg123 some.mp3
works without a problem [full log @ 1]
2. modprobe cpufreq_ondemand
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor strace -o log -f -tttTTT mpg123 some.mp3
hangs and no sound at all [full log @ 2]
3. echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor strace -o log -f -tttTTT mpg123 some.mp3
works without a problem [full log @ 3]
And with both 2.6.18.8 and 2.6.22-rc4 KDE (artsd) starts to gave "Operation not denied" errors on login, and after that error occured stracing mpg123 from console gaves following output (the very same check of semctl fails with EINTR with second) [full log @ 4];
...
4004 1181948891.899907 semget(5678293, 1, IPC_CREAT|0660) = 1081344 <0.000010>
4004 1181948891.899945 semctl(1081344, 0, IPC_64|IPC_STAT, 0xbfd1b498) = 0 <0.000009>
4004 1181948891.899981 semctl(1081344, 0, IPC_64|IPC_SET, 0xbfd1b498) = -1 EPERM (Operation not permitted) <0.000009>
4004 1181948891.900026 semop(1081344, 0xbfd1b6a0, 2) = -1 EINTR (Interrupted system call) <15.979441>
4004 1181948907.879574 --- SIGTERM (Terminated) @ 0 (0) ---
4004 1181948907.879782 +++ killed by SIGTERM +++
You can also find dmesg [5], lspci -vv [6], lsmod [7], /proc/cpuinfo [8], /proc/interrupts [9] and used .config [10] from there.
I have also a physical access to that laptop so please just ask if you want anything else.
[1] http://cekirdek.pardus.org.tr/~caglar/kernel/working
[2] http://cekirdek.pardus.org.tr/~caglar/kernel/notworking
[3] http://cekirdek.pardus.org.tr/~caglar/kernel/againworking
[4] http://cekirdek.pardus.org.tr/~caglar/kernel/perm
[5] http://cekirdek.pardus.org.tr/~caglar/kernel/dmesg_2.6.22
[6] http://cekirdek.pardus.org.tr/~caglar/kernel/lspci
[7] http://cekirdek.pardus.org.tr/~caglar/kernel/lsmod_2.6.22
[8] http://cekirdek.pardus.org.tr/~caglar/kernel/cpuinfo
[9] http://cekirdek.pardus.org.tr/~caglar/kernel/interrupts
[10] http://cekirdek.pardus.org.tr/~caglar/kernel/config
Cheers
Signature · 4 lines
S.Çağlar Onur <[email protected]> http://cekirdek.pardus.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
16 Haz 2007 Cts tarihinde, S.Çağlar Onur şunları yazmıştı:
...
Quoted 1 line
3. echo "ondemand" >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
^^^ performance
Sorry for typo!
Quoted 3 lines
strace -o log -f -tttTTT mpg123 some.mp3
works without a problem [full log @ 3]
Cheers
Signature · 4 lines
S.Çağlar Onur <[email protected]> http://cekirdek.pardus.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
Quoted 8 lines · S.Çağlar Onur
One of our colleagues found following problem with his old laptop while testing Linus's latest git with external alsa-driver (v1.0.14). And we can also reproduce same problem with 2.6.18.8 so it seems not a new regression (if it is a regression).
As a summary "sound stops to work if
cpufreq_ondemandgovernor is used" on that laptop. Problem occurs only if cpufreq_* modules are loaded and %100 reproducable if system configured for ondemand governor.
I'm puzzled. The cpuinfo shows that this cpu doesn't have speedstep, so why acpi-cpufreq successfully loads is a mystery.
What's in/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies ?
Maybe the acpi implementation is faking multiple speeds using throttling a la p4-clockmod, which would be a bit loopy, but possible I guess.
Dave
Signature · 1 line
http://www.codemonkey.org.uk
Hi;
16 Haz 2007 Cts tarihinde, Dave Jones şunları yazmıştı:
Quoted 10 lines · S.Çağlar Onur
Quoted 8 lines
One of our colleagues found following problem with his old laptop while testing Linus's latest git with external alsa-driver (v1.0.14). And we can also reproduce same problem with 2.6.18.8 so it seems not a new regression (if it is a regression).
As a summary "sound stops to work if
cpufreq_ondemandgovernor is used" on that laptop. Problem occurs only if cpufreq_* modules are loaded and %100 reproducable if system configured for ondemand governor.
Quoted 5 lines
I'm puzzled. The cpuinfo shows that this cpu doesn't have speedstep, so why acpi-cpufreq successfully loads is a mystery.
What's in/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
?
mavi ~ #
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 2793000 1596000
Quoted 2 lines
Maybe the acpi implementation is faking multiple speeds using throttling a la p4-clockmod, which would be a bit loopy, but possible I guess.
modprobe p4-clockmod with 2.6.18.8 ends up with "Device or resource busy"
Cheers
Signature · 4 lines
S.Çağlar Onur <[email protected]> http://cekirdek.pardus.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
_______________________________________________
Cpufreq mailing list
[email protected]
http://lists.linux.org.uk/mailman/listinfo/cpufreq