scheduler went mad?
Hi,
Yesterday i tried to start cdda2wav but somehow it didn't do
anything.
It didn't die to kill -9 too. Machine was slow but usable. vmstat 10 output:
procs memory swap io
system cpu
r b w swpd free buff cache si so bi bo in cs us sy id 2 0 1 2972 40916 108 18292 0 0 0 0 121 12735 0
100 0
2 0 1 2972 40492 108 18292 0 0 0 0 109 12740 1
99 0
2 0 1 2972 40492 108 18292 0 0 0 0 103 12996 0
100 0
3 0 0 2972 40492 108 18292 0 0 0 0 102 12932 0
100 0
3 0 1 2972 40492 108 18292 0 0 0 0 131 12652 1
99 0
2 0 0 2972 40496 108 18292 0 0 0 0 142 12562 1
99 0
2 0 0 2972 40500 108 18292 0 0 0 0 120 12684 0
100 0
2 0 1 2972 40496 108 18292 0 0 0 0 140 12480 1
99 0
2 0 0 2972 39952 108 18292 0 0 0 0 160 11445 7
93 0
3 0 0 2972 39952 108 18292 0 0 0 0 178 12295 2
98 0
2 0 0 2972 39956 108 18292 0 0 0 0 214 11958 2
98 0
3 0 1 2972 39952 108 18292 0 0 0 0 138 12579 1
99 0
cs field is absolutely ridiculous for my machine.
ps showed cdda2wav & kswapd eating all of processor time. When i tried to close
netscape, it hang too and joined cdda2wav and kswapd:
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME
COMMAND
9990 priitr 17 0 42380 41M 9928 R 0 32.5 33.4 21:47
netscape-commun
3 root 17 0 0 0 0 SW 0 32.3 0.0 11:12
kswapd
10538 priitr 16 0 84 8 0 R 0 32.3 0.0 11:09
cdda2wav
5 root 9 0 0 0 0 SW 0 1.5 0.0 0:19
bdflush
10616 priitr 13 0 856 856 668 R 0 0.7 0.6 0:00 top
657 root 9 0 21160 20M 1668 S 0 0.1 16.7 29:36 XI couldn't leave X and had to kill it. After that, both netscape and cdda2wav were
gone and everything looks normal since then.
I'm running 2.4.3ac3 right now.
dmesg:
I had the almost exact same thing happen to me just yesterday, I started up xcdroast, and cdda2wav and kswapd went crazy, backed out of X and all was well, and still is.
Same kernel as you too.
Quoted 70 lines · Priit Randla
Hi,
Yesterday i tried to start cdda2wav but somehow it didn't do
anything.
It didn't die to kill -9 too. Machine was slow but usable. vmstat 10 output:procs memory swap io
system cpur b w swpd free buff cache si so bi bo in cs us sy id 2 0 1 2972 40916 108 18292 0 0 0 0 121 12735 0100 0
2 0 1 2972 40492 108 18292 0 0 0 0 109 12740 1
99 0
2 0 1 2972 40492 108 18292 0 0 0 0 103 12996 0
100 0
3 0 0 2972 40492 108 18292 0 0 0 0 102 12932 0
100 0
3 0 1 2972 40492 108 18292 0 0 0 0 131 12652 1
99 0
2 0 0 2972 40496 108 18292 0 0 0 0 142 12562 1
99 0
2 0 0 2972 40500 108 18292 0 0 0 0 120 12684 0
100 0
2 0 1 2972 40496 108 18292 0 0 0 0 140 12480 1
99 0
2 0 0 2972 39952 108 18292 0 0 0 0 160 11445 7
93 0
3 0 0 2972 39952 108 18292 0 0 0 0 178 12295 2
98 0
2 0 0 2972 39956 108 18292 0 0 0 0 214 11958 2
98 0
3 0 1 2972 39952 108 18292 0 0 0 0 138 12579 1
99 0cs field is absolutely ridiculous for my machine.
ps showed cdda2wav & kswapd eating all of processor time. When i tried to close
netscape, it hang too and joined cdda2wav and kswapd:PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME
COMMAND
9990 priitr 17 0 42380 41M 9928 R 0 32.5 33.4 21:47
netscape-commun3 root 17 0 0 0 0 SW 0 32.3 0.0 11:12 kswapd 10538 priitr 16 0 84 8 0 R 0 32.3 0.0 11:09 cdda2wav 5 root 9 0 0 0 0 SW 0 1.5 0.0 0:19 bdflush 10616 priitr 13 0 856 856 668 R 0 0.7 0.6 0:00 top 657 root 9 0 21160 20M 1668 S 0 0.1 16.7 29:36 XI couldn't leave X and had to kill it. After that, both netscape and cdda2wav were
gone and everything looks normal since then.
I'm running 2.4.3ac3 right now.dmesg:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 5 lines · Josh McKinney
I had the almost exact same thing happen to me just yesterday, I started up xcdroast, and cdda2wav and kswapd went crazy, backed out of X and all was well, and still is.
Same kernel as you too.
I can tell you why this happens. Earlier kernels allocated one cd frame worth of data for cdda ripping, but it was recently bumped to allow as many as the ripping program asks for (up to 8). This requires a 4-5 page allocation on x86, which is of course not reliable. cdrom.c adjusts for failed allocations and drops to fewer number of frames (8 -> 4 -> 2 and then just 1), but apparently the vm isn't handling this too well if kswapd is going crazy.
I can switch to a static 8 frame allocation, but IMHO the vm should be able to handle situations like this. It's not that unusual for a driver to ask for a bigger chunk of memory if it can go faster that way, and then be prepared to settle for less if need be. For cdda ripping, it really does make a difference.
However, I can change ide-cd to do scatter gather in this case. It's the nicer thing to do anyway. Does cdda2wav have some sort of 'do X number of frames at the time' option? If so, use 1 and there should be no problems.
Signature · 1 line
Jens Axboe