2002-02-05 00:15:10

by Kilobug

[permalink] [raw]
Subject: [2.4.18-pre3-mjc3] heavy disk load and non-killable process

Hello,
I've a 2.4.18-pre3-mjc3 kernel, with preempt enabled. I was testing
relative performance of DMA and non-DMA IDE hard disk access,
and I did the following as root:

~ # hdparm -X67 -d1 /dev/hdb
~ # time /bin/sh -c "cp foo bar; sync"
~ # time /bin/sh -c "cp foo bar; sync"
~ # time /bin/sh -c "cp foo bar; sync"
~ # hdparm -X12 -d0 /dev/hdb
~ # time /bin/sh -c "cp foo bar; sync"
~ # time /bin/sh -c "cp foo bar; sync"
~ # time /bin/sh -c "cp foo bar; sync"
(foo is a 64Mb large regular file)

I had xmms running, and during the first two tests of the non-DMA
version, the sound stops and then restarts, but it didn't restart after
the last cp.

What is strange (and may be a kernel bug IMHO) is that the xmms process
stays running and non-killable:

(kilobug@drizzt, 53) ~ $ ps aux | grep xmms
kilobug 1346 0.1 0.4 5792 2424 ? S Feb03 3:13 wmxmms
kilobug 12452 8.4 1.3 25104 6936 ? R 00:56 0:38 xmms -p
kilobug 12590 0.0 0.1 1732 684 pts/4 S 01:03 0:00 grep xmms
(kilobug@drizzt, 54) ~ $ kill -9 12452
(kilobug@drizzt, 55) ~ $ ps aux | grep xmms
kilobug 1346 0.1 0.4 5792 2424 ? S Feb03 3:13 wmxmms
kilobug 12452 8.9 1.3 25104 6936 ? R 00:56 0:40 xmms -p
kilobug 12592 0.0 0.1 1732 684 pts/4 S 01:03 0:00 grep xmms

Top says that xmms takes half of the CPU time, the other half being used
by a low priority process:

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
12452 kilobug 34 0 25104 6936 384 R 48.7 1.3 3:42 xmms
685 kilobug 39 19 50080 17M 0 R N 48.4 3.4 1932m ghclient.x

Here is a cat /proc/meminfo:

(kilobug@drizzt, 57) /var $ cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 527327232 355241984 172085248 0 43528192 109633536
Swap: 296099840 40099840 256000000
MemTotal: 514968 kB
MemFree: 168052 kB
MemShared: 0 kB
Buffers: 42508 kB
Cached: 91764 kB
SwapCached: 15300 kB
Active: 286872 kB
Inact_dirty: 22708 kB
Inact_clean: 0 kB
Inact_target: 61916 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 514968 kB
LowFree: 168052 kB
SwapTotal: 289160 kB
SwapFree: 250000 kB

(kilobug@drizzt, 59) ~ $ uptime
01:15:41 up 1 day, 14:39, 5 users, load average: 3.33, 3.38, 3.36

I can send you additional informations if you want so (I'll try to avoid
shuting down the box and the X server as long as needed).

All mounted partitions (including swap) are from /dev/hdb, an IDE
Western Digital disk (cat /proc/ide/hdb/model says WDC WD300BB-00AUA1),
and I've unmasked IRQs with hdparm on it at boot time.

lspci says:
00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [Irongate]
System Controller (rev 13)
00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [Irongate] AGP
Bridge
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 40)
00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06)
00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16)
00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16)
00:04.4 Non-VGA unclassified device: VIA Technologies, Inc. VT82C686
[Apollo Super ACPI] (rev 40)
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 04)
00:0b.1 Input device controller: Creative Labs SB Live! (rev 01)
00:0c.0 Multimedia video controller: Brooktree Corporation Bt848 TV with
DMA push (rev 12)
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon QD

Hoping I can help you,

--
** Gael Le Mignot "Kilobug", Ing3 EPITA - http://kilobug.free.fr **
Home Mail : [email protected] Work Mail : [email protected]
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

"Software is like sex it's better when it's free.", Linus Torvalds


2002-02-05 19:48:42

by Kilobug

[permalink] [raw]
Subject: Re: [2.4.18-pre3-mjc3] heavy disk load and non-killable process

Denis Vlasenko wrote:
> On 4 February 2002 22:17, Kilobug wrote:
>
>>Hello,
>> I've a 2.4.18-pre3-mjc3 kernel, with preempt enabled. I was testing
>>relative performance of DMA and non-DMA IDE hard disk access,
>>and I did the following as root:
>>
>>~ # hdparm -X67 -d1 /dev/hdb
>>~ # time /bin/sh -c "cp foo bar; sync"
>>~ # time /bin/sh -c "cp foo bar; sync"
>>~ # time /bin/sh -c "cp foo bar; sync"
>>~ # hdparm -X12 -d0 /dev/hdb
>>~ # time /bin/sh -c "cp foo bar; sync"
>>~ # time /bin/sh -c "cp foo bar; sync"
>>~ # time /bin/sh -c "cp foo bar; sync"
>>(foo is a 64Mb large regular file)
>>
>>I had xmms running, and during the first two tests of the non-DMA
>>version, the sound stops and then restarts, but it didn't restart after
>>the last cp.
>>
>>What is strange (and may be a kernel bug IMHO) is that the xmms process
>>stays running and non-killable:
>>
>
> SysRq-T, isolate xmms part, ksymoops it, send result here and CC maintainers
> (or who you think might be interested (Andrea/Alan/...))

SysRq-T and ksymoops:
Call Trace: [<c010ac83>] [<c0114e59>] [<c01164d4>] [<c011dc05>]
[<e486f91f>] [<c013d69d>] [<c0121d99>] [<c013c1e9>] [<c013c297>]
[<c010702b>]
Warning (Oops_read): Code line not seen, dumping what data is available

Trace; c010ac82 <call_do_IRQ+4/a>
Trace; c0114e58 <do_schedule+58/3e0>
Trace; c01164d4 <sys_sched_yield+a4/e0>
Trace; c011dc04 <tasklet_kill+54/80>
Trace; e486f91e <[emu10k1]emu10k1_audio_release+be/230>
Trace; c013d69c <fput+4c/100>
Trace; c0121d98 <schedule_timeout+58/a0>
Trace; c013c1e8 <filp_close+68/c0>
Trace; c013c296 <sys_close+56/b0>
Trace; c010702a <system_call+32/38>


--
** Gael Le Mignot "Kilobug", Ing3 EPITA - http://kilobug.free.fr **
Home Mail : [email protected] Work Mail : [email protected]
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

"Software is like sex it's better when it's free.", Linus Torvalds