Bug 2983 - Dma enabled but not working
Summary: Dma enabled but not working
Status: REJECTED INVALID
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: IDE (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Bartlomiej Zolnierkiewicz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-29 21:14 UTC by George Rankine
Modified: 2004-09-25 07:56 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.7
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
This is my /var/log/messages (116.92 KB, text/plain)
2004-06-30 06:28 UTC, George Rankine
Details
config for 2.6.9-rc1 (Hendrik Fehr) (32.84 KB, text/plain)
2004-08-24 17:35 UTC, Hendrik Fehr
Details
Detailed report, as wanted in the REPORTING-BUGS file. Its worth a look. (188 bytes, text/html)
2004-08-30 17:19 UTC, Hendrik Fehr
Details

Description George Rankine 2004-06-29 21:14:59 UTC
Distribution: Debian Sarge
Hardware Environment: 
Software Environment: 
Problem Description: I have a sis5513 chipset. I have dma enabled without any
error, but everytime I copy a file, or I try to access the hd, 100% of the CPU
is used. I have no problems in kernel 2.4.x with the same settings.
I have the same problem for both the HD.

This could be useful:
(from /var/log/messages)

[...]
Jun 21 00:31:46 localhost kernel: Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Jun 21 00:31:46 localhost kernel: ide: Assuming 33MHz system bus speed for PIO
modes; override with idebus=xx
Jun 21 00:31:46 localhost kernel: SIS5513: IDE controller at PCI slot 0000:00:00.1
Jun 21 00:31:46 localhost kernel: SIS5513: chipset revision 208
Jun 21 00:31:46 localhost kernel: SIS5513: not 100%% native mode: will probe
irqs later
Jun 21 00:31:46 localhost kernel: SIS5513: SiS730 ATA 100 (1st gen) controller
Jun 21 00:31:46 localhost kernel:     ide0: BM-DMA at 0x4000-0x4007, BIOS
settings: hda:DMA, hdb:DMA
Jun 21 00:31:46 localhost kernel:     ide1: BM-DMA at 0x4008-0x400f, BIOS
settings: hdc:DMA, hdd:DMA
Jun 21 00:31:46 localhost kernel: hda: WDC WD300BB-00AUA1, ATA DISK drive
Jun 21 00:31:46 localhost kernel: hdb: Maxtor 6Y080P0, ATA DISK drive
Jun 21 00:31:46 localhost kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Jun 21 00:31:46 localhost kernel: hdc: ASUS CRW-5224A, ATAPI CD/DVD-ROM drive
Jun 21 00:31:46 localhost kernel: hdd: TOSHIBA DVD-ROM SD-R5112, ATAPI
CD/DVD-ROM drive
Jun 21 00:31:46 localhost kernel: ide1 at 0x170-0x177,0x376 on irq 15
Jun 21 00:31:46 localhost kernel: hda: max request size: 128KiB
Jun 21 00:31:46 localhost kernel: hda: 58633344 sectors (30020 MB) w/2048KiB
Cache, CHS=58168/16/63, UDMA(100)
Jun 21 00:31:46 localhost kernel:  hda: hda1 hda3 < hda5 >
Jun 21 00:31:46 localhost kernel: hdb: max request size: 128KiB
Jun 21 00:31:46 localhost kernel: hdb: 160086528 sectors (81964 MB) w/7936KiB
Cache, CHS=65535/16/63, UDMA(100)
Jun 21 00:31:46 localhost kernel:  hdb: hdb1 hdb2 hdb3
Jun 21 00:31:46 localhost kernel: hdc: ATAPI 52X CD-ROM CD-R/RW CD-MRW drive,
2048kB Cache, UDMA(33)
Jun 21 00:31:46 localhost kernel: Uniform CD-ROM driver Revision: 3.20
Jun 21 00:31:46 localhost kernel: hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive,
2048kB Cache, UDMA(33)
[...]

Steps to reproduce: Just copy a file from a location to another.
Comment 1 Bartlomiej Zolnierkiewicz 2004-06-30 06:07:09 UTC
I don't think it is an IDE problem.  Please attach full dmesg and config.
Comment 2 George Rankine 2004-06-30 06:28:42 UTC
Created attachment 3290 [details]
This is my /var/log/messages
Comment 3 Hendrik Fehr 2004-08-24 17:33:25 UTC
Distri: Gentoo (stage3)
With kernel 2.4 no overhead on file copy operations on hda. With kernel 2.6.X
(confirmed: 2.6.7, 2.6.8.1 and 2.6.9-rc1) 100% cpu overhead on io-operations on hda.
I can reproduce this bug on another sis5513 chipset:
anfortas root # lspci
0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] SiS645DX Host &
Memory & AGP Controller
0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI
bridge (AGP)
0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media
IO] (rev 04)
0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]anfortas
root # hdparm -i /dev/hda

/dev/hda:

 Model=TOSHIBA MK4021GAS, FwRev=GA224A, SerialNo=53Q37849S
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=46
 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: device does not report version:

anfortas root # uname -a
Linux anfortas 2.6.9-rc1 #2 Wed Aug 25 01:36:08 MEST 2004 i686 Intel(R)
Pentium(R) 4 CPU 2.40GHz GenuineIntel GNU/Linux

From /var/log/messages: (my config is attached as a file to this bug.) 
Aug 25 01:41:25 anfortas kernel: Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Aug 25 01:41:25 anfortas kernel: ide: Assuming 33MHz system bus speed for PIO
modes; override with idebus=xx
Aug 25 01:41:25 anfortas kernel: SIS5513: IDE controller at PCI slot 0000:00:02.5
Aug 25 01:41:25 anfortas kernel: ACPI: PCI interrupt 0000:00:02.5[A] -> GSI 16
(level, low) -> IRQ 16
Aug 25 01:41:25 anfortas kernel: SIS5513: chipset revision 0
Aug 25 01:41:25 anfortas kernel: SIS5513: not 100%% native mode: will probe irqs
later
Aug 25 01:41:25 anfortas kernel: SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller
Aug 25 01:41:25 anfortas kernel:     ide0: BM-DMA at 0x1000-0x1007, BIOS
settings: hda:DMA, hdb:pio
Aug 25 01:41:25 anfortas kernel:     ide1: BM-DMA at 0x1008-0x100f, BIOS
settings: hdc:DMA, hdd:pio
Aug 25 01:41:25 anfortas kernel: hda: TOSHIBA MK4021GAS, ATA DISK drive
Aug 25 01:41:25 anfortas kernel: Using anticipatory io scheduler
Aug 25 01:41:25 anfortas kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Aug 25 01:41:25 anfortas kernel: hdc: QSI CD-RW/DVD-ROM SBW-241, ATAPI
CD/DVD-ROM drive
Aug 25 01:41:25 anfortas kernel: ide1 at 0x170-0x177,0x376 on irq 15
Aug 25 01:41:25 anfortas kernel: hda: max request size: 128KiB
Aug 25 01:41:25 anfortas kernel: hda: 78140160 sectors (40007 MB),
CHS=65535/16/63, UDMA(33)
Aug 25 01:41:25 anfortas kernel: hda: cache flushes supported
Aug 25 01:41:25 anfortas kernel:  /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 <
p5 p6 p7 p8 >
Aug 25 01:41:25 anfortas kernel: hdc: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB
Cache, UDMA(33)
Aug 25 01:41:25 anfortas kernel: Uniform CD-ROM driver Revision: 3.20
Comment 4 Hendrik Fehr 2004-08-24 17:35:30 UTC
Created attachment 3562 [details]
config for 2.6.9-rc1 (Hendrik Fehr)

Bug: 100% cpu usage when performing file-i/o on an sis5513 attached disc.
Comment 5 George Rankine 2004-08-24 17:58:19 UTC
Nice to hear that I am not alone! (sorry about that :-) ).
I stopped using kernel 2.6 because of that bug. 
I am willing do any test you want me to do.
Comment 6 Hendrik Fehr 2004-08-26 10:31:44 UTC
Today i reproduced the bug with the 2.6.7 kernel on the latest knoppix release.
(knoppix 3.6). The only difference iss that knoppix drives the disc in udma5
mode (my vanilla kernel speeks in udma2 with the disc,) Same thing again: 100%
cpu usage on disc io.
Prepare yourself for a full and detailed bug report (as wanted in BUG-REPORT). I
am willing to give everybody who wants to debug this thing root access to my
machine since i didnt installed any personalized things on it right now.
Comment 7 Hendrik Fehr 2004-08-30 17:19:46 UTC
Created attachment 3597 [details]
Detailed report, as wanted in the REPORTING-BUGS file. Its worth a look.

I tried to collect all information that might be useful and put it in the
report. You may have a look at the file section [X.3] for dmesg and hdparm
output and so on.
Comment 8 Hendrik Fehr 2004-09-08 07:34:41 UTC
Good news!
This is not a bug (for me).
I looked into the source of my monitor util and saw that it counts the "WA" time
as SYS time. That confused me, because WA is just idel time.
I vote for INVALID.
Cheers.
Comment 9 George Rankine 2004-09-08 07:57:26 UTC
I don't understand... how is all this related with the monitor?
Comment 10 George Rankine 2004-09-08 08:56:02 UTC
 Hendrik, can you please tell me more exactly how you repaired it? 
I will try the changes as soon as I go back home and I will keep you posted. 
Comment 11 Hendrik Fehr 2004-09-08 20:16:38 UTC
I think you got me wrong. (english is not my native language).
In kernel 2.6 there was introduced a NEW format of the /proc/stat file. This
file contains numbers on certain positions that belong to certain cpu time. My
monitoring utility (xosview) interpreted the fields wrong, because it assumed
that the /proc/stat file looks like it was in 2.4 kernels.
I dont know how it came that xosview ADDED the cpu-time where the kernel is
waiting for IO to complete was counted as SYS time.
HINT: read linux/Documentation/filesystems/proc.txt
Get yourself (i.e.) a new version of the top programm and pay attention to the
new fields in the summary.
I hope that cleared it a bit.

Note You need to log in before you can comment on or make changes to this bug.