Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Slow file copy
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
russofris
Apprentice
Apprentice


Joined: 14 Sep 2003
Posts: 163

PostPosted: Wed Jan 26, 2005 4:07 am    Post subject: Slow file copy Reply with quote

Good evening,

I am having trouble with HDD to HDD file moves/copies. Moving data from disk to disk seems to transfer at a rate of approx 6MB/sec on hardware capable of much more than that. The problem seems to be limited to the PATA disks in my system. SCSI is unaffected. Here's the setup.

1:WD120BB as /dev/hda. Master (single) on Via KT333 onboard controller.
2:Maxtor 160GB D540X as /dev/hde. Master (single) on PDC20276 onboard controller.
3:Maxtor 160GB D540X as /dev/hdg. Master (single) on PDC20276 onboard controller.

hdparm info. DMA is enabled, all drives are running at ata100. multi is 16, 32 bit transfers enabled on all drives. Uncached reads are as follows.

1:WD120BB at 39MB/sec
2:D540X at 27MB/sec
3: Same as 2 (it's the same model)

Symptoms:
When I copy/move a file from drive to drive in konqueror or from the CLI, the transfer rate is approximately 6MB/sec. Under dos and win32 I get about 25MB/sec. CPU utilization goes to 100% during the transfer.

The only thing that I can think of is that DMA is not 'actually' enabled for the drives on the PDC20276. Has anyone else experienced similar results? Is there some "write-verify" flag that exists in the newer kernels that could be causing this? Seems to happen with all of the 2.6 kernels I have tried.

Thank you for your time,
Frank Russo


Info is as follows:

Code:

h2so4 ~ # emerge info
Portage 2.0.51-r15 (default-linux/x86/2004.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r6 i686)
=================================================================
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(TM) XP 1700+
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Nov  4 2004, 17:41:58)]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r3
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-mtune=athlon-xp -march=athlon-xp -O3 -pipe -funit-at-a-time"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mtune=athlon-xp -march=athlon-xp -O3 -pipe -funit-at-a-time"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowex X aac aalib alsa apm arts artswrappersuid audiofile avi berkdb bitmap-fonts bonobo bootsplash cdparanoia cdr crypt cups divx4linux dvd dvdread encode esd f77 faac faad fam flac font-server foomaticdb fortran gdbm gifgnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile icc imagemagick imlib ipv6 java joystick jpeg jpeg2k junit kde libg++ libwww mad mikmod mmx mmx2 mng motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline real samba scanner sdl session slang spell sse ssl svga tcpd theora tiff truetype truetype-fonts type1-fonts v4l2 wxwindows xine xml xmms xv xvid xvmc zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS, PORTDIR_OVERLAY

h2so4 ~ #                                                     
Back to top
View user's profile Send private message
yaneurabeya
Veteran
Veteran


Joined: 13 May 2004
Posts: 1754
Location: Seattle

PostPosted: Wed Jan 26, 2005 4:25 am    Post subject: Reply with quote

Just as a side question, have you tried timing file copies and moves with mv and cp? I know it might be trivial, but just wondering if the issue is with konqueror or the drives.
Back to top
View user's profile Send private message
xbmodder
Guru
Guru


Joined: 25 Feb 2004
Posts: 404

PostPosted: Wed Jan 26, 2005 5:05 am    Post subject: Reply with quote

Quote:
When I copy/move a file from drive to drive in konqueror or from the CLI, the transfer rate is approximately 6MB/sec

_________________
http://xbmodder.us/
Back to top
View user's profile Send private message
joeswift
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jan 2005
Posts: 94
Location: South Africa

PostPosted: Wed Jan 26, 2005 9:54 am    Post subject: Reply with quote

check out the performance options in this url attached:

http://www.laukas.com/knbase/linux_special/

You may find some hardware optimizatio setting that you can perform to improve loads. I have found in the past that piping output from one location to another is faster than running cp. For instance using tar and then piping to another location copies across by blocks (so you block size could be adjusted to increase performance for larger files). Using cp copies by characters, which could slower
Back to top
View user's profile Send private message
russofris
Apprentice
Apprentice


Joined: 14 Sep 2003
Posts: 163

PostPosted: Wed Jan 26, 2005 8:04 pm    Post subject: Reply with quote

I took a look at the performance tips, and aside from the filesystem block size, I do not believe that any of the others would make a huge difference (having already set up the hdparm tweaks). The problem is that the current FS is EXT2 on my drives. I intentionally chose this for it's low CPU overhead (and it appears that I am CPU limited on the file transfers). While increasing the block size will reduce the symptoms, I do not believe it will solve the actual problem; which is that file transfers across ATA disks peg the CPU regardless of the DMA setting.

Strange. I will keep looking.

Frank
Back to top
View user's profile Send private message
joeswift
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jan 2005
Posts: 94
Location: South Africa

PostPosted: Thu Jan 27, 2005 7:05 am    Post subject: Reply with quote

what does lspci tell you about the drives? emerge pciutils if you havent yet to get lspci
Back to top
View user's profile Send private message
russofris
Apprentice
Apprentice


Joined: 14 Sep 2003
Posts: 163

PostPosted: Fri Jan 28, 2005 5:21 am    Post subject: Reply with quote

joeswift wrote:
what does lspci tell you about the drives? emerge pciutils if you havent yet to get lspci


Here's the relevant verbose output:

Code:

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
        Subsystem: ASUSTeK Computer Inc. A7V333 Mainboard
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 0
        Region 0: Memory at f8000000 (32-bit, prefetchable)
        Capabilities: [a0] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+ Rate=x4
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP] (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Memory behind bridge: dd000000-de5fffff
        Prefetchable memory behind bridge: dff00000-f7ffffff
        BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


0000:00:06.0 RAID bus controller: Promise Technology, Inc. PDC20276 (MBFastTrak133 Lite) (rev 01) (prog-if 85)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 807e
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-<MAbort- >SERR- <PERR-
        Latency: 32 (1000ns min, 4500ns max), cache line size 08
        Interrupt: pin A routed to IRQ 4
        Region 0: I/O ports at d400
        Region 1: I/O ports at d000 [size=4]
        Region 2: I/O ports at b800 [size=8]
        Region 3: I/O ports at b400 [size=4]
        Region 4: I/O ports at b000 [size=16]
        Region 5: Memory at dc800000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [60] Power Management version 1
                Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


The only thing that shares IRQ4 is the onboard USB controller, which shouldn't cause a problem. Nor should the 32 clock layency setting (I should be able to get about 60-70MB/sec to the controller... granted, not to the drive)


The drive details look like this
Code:

h2so4 ~ # hdparm -i /dev/hdg

/dev/hdg:

 Model=Maxtor 4G160J8, FwRev=GAK81BK0, SerialNo=G809404E
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-6 T13 1410D revision 0:

 * signifies the current active mode


Which looks good as well.

I'll keep looking around the web and see if anyone else has noticed this with a PDC20276. Unfortunately, it also affects the VT82C686 onboard Via controller as well. I'm still kinda stumpped.

Thanx muchly,
Frank
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum