On Wed, Aug 16, 2006 at 04:18:34PM -0400, Mikhail Teterin wrote:
> kmail prompted me for password, which I supplied. Then, all of a sudden,
> the system slowed to a crawl -- even the mouse curse was barely moving.
>
> It took many minutes to login from the outside and some more to start top.
>
> Below you can see kmail in kserel keeping the processor(s) EXTREMELY busy.
> Note also, the "load" figures.
>
> According to `systat -vm', exactly 50% of the time is spent in
"user", and the
> other 50% -- either "sys" or in "irq" -- all of them
in the pcm driver.
>
> [...]
> 1.6%Sys 43.7%Intr 49.1%User 0.0%Nice 5.7%Idl 1903516 inact 12:
psm
> | | | | | | | | | | 122920 cache 15:
ata
>
=++++++++++++++++++++++>>>>>>>>>>>>>>>>>>>>>>>>
15688 free 16: ahc
> daefr 86002 17:
pcm
> [...]
>
> The computer has two Opterons (single chip 275 with two cores) and is
running
> a recent 6.1-stable (amd64).
>
> This happens about once a week. Sometimes a reboot is required, sometimes
> killing the stuck process and kldunload-ing the snd_ich is sufficient...
>
> Kmail is not using the audio in any way and the irq-17 is not shared with
any
> other device (dmesg attached). When snd_ich is loaded, it says, as
expected:
>
> pcm0: <AMD-8111> port 0xc800-0xc8ff,0xcc00-0xcc3f irq 17 at device
7.5 on pci0
> pcm0: <Avance Logic ALC655 AC97 Codec>
>
> What's going on? Thanks!
>
> -mi
>
> last pid: 5150; load averages: 49.23, 52.22, 45.23 up 13+03:13:30
16:01:30
> 158 processes: 2 running, 154 sleeping, 1 stopped, 1 zombie
> CPU states: 50.0% user, 0.0% nice, 1.7% system, 22.6% interrupt, 25.8%
idle
> Mem: 1487M Active, 1859M Inact, 303M Wired, 120M Cache, 214M Buf, 16M Free
> Swap: 4465M Total, 52K Used, 4465M Free
>
> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
> 5893 mi 3 20 0 298M 177M kserel 1 323:18 7634.18% kmail
> 90397 root 1 5 0 7400K 1768K ttyin 1 97:01 1.12% systat
> 80809 i 1 120 0 238M 224M select 0 160:18 0.68%
firefox-bin
> 2265 root 1 96 0 261M 144M select 0 49.0H 0.00% Xorg
> 2267 root 1 96 0 184M 76428K select 0 149:40 0.00% Xorg
> 18203 mi 4 20 0 179M 67696K kserel 0 135:45 0.00% kopete
> 2336 i 1 96 0 134M 32132K select 0 71:43 0.00% kdeinit
> 87056 i 1 96 0 118M 64392K select 0 52:09 0.00% acroread
> [...]
Would you give attached patch try?
--
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: ich.c
==================================================================RCS file:
/home/ncvs/src/sys/dev/sound/pci/ich.c,v
retrieving revision 1.67
diff -u -r1.67 ich.c
--- ich.c 15 Aug 2006 07:37:41 -0000 1.67
+++ ich.c 17 Aug 2006 00:42:42 -0000
@@ -503,6 +503,11 @@
ICH_LOCK(sc);
gs = ich_rd(sc, ICH_REG_GLOB_STA, 4) & ICH_GLOB_STA_IMASK;
+ if (gs == 0) {
+ /* Not ours */
+ ICH_UNLOCK(sc);
+ return;
+ }
if (gs & (ICH_GLOB_STA_PRES | ICH_GLOB_STA_SRES)) {
/* Clear resume interrupt(s) - nothing doing with them */
ich_wr(sc, ICH_REG_GLOB_STA, gs, 4);