2007-08-26 20:15:50

by Oliver Janscheidt

[permalink] [raw]
Subject: Problems with disc-performance and libata

Hi,

I'm using a Lenovo Thinkpad with TOSHIBA MK1234GS HD and MATSHITA
DVD-RAM UJ-850 on 82801GBM/GHM (ICH7 Family) Serial ATA Storage
Controller IDE. The Kernel is a 2.6.22.1 from Kernel.org (with 2.6.23-rc1-
and hdaps-queue-freezing-patch).

sudo hdparm -t /dev/scd0 gives

Timing buffered disk reads: 2 MB in 4.47 seconds = 457.75 kB/sec

sudo hdparm -t /dev/sda gives

Timing buffered disk reads: 102 MB in 3.04 seconds = 33.51 MB/sec

which is a quite poor performance and makes any streaming impossible.
Obviously UDMA is working correctly as dmesg | grep UDMA says:

[ 43.636590] ata1: SATA max UDMA/133 cmd 0xffffc20004612500 ctl
0x0000000000000000 bmdma 0x0000000000000000 irq 314
[ 43.636595] ata2: SATA max UDMA/133 cmd 0xffffc20004612580 ctl
0x0000000000000000 bmdma 0x0000000000000000 irq 314
[ 43.636599] ata3: SATA max UDMA/133 cmd 0xffffc20004612600 ctl
0x0000000000000000 bmdma 0x0000000000000000 irq 314
[ 43.636603] ata4: SATA max UDMA/133 cmd 0xffffc20004612680 ctl
0x0000000000000000 bmdma 0x0000000000000000 irq 314
[ 44.177980] ata1.00: ATA-7: TOSHIBA MK1234GSX, AH002E, max UDMA/100
[ 44.179192] ata1.00: configured for UDMA/100
[ 44.326918] ata5: PATA max UDMA/133 cmd 0x00000000000101f0 ctl
0x00000000000103f6 bmdma 0x0000000000011880 irq 14
[ 44.326922] ata6: PATA max UDMA/133 cmd 0x0000000000010170 ctl
0x0000000000010376 bmdma 0x0000000000011888 irq 15
[ 44.571970] ata5.00: ATAPI: MATSHITADVD-RAM UJ-850, RB01, max UDMA/33
[ 44.738552] ata5.00: configured for UDMA/33
[ 0.610332] ata5.00: configured for UDMA/33
[ 0.750296] ata1.00: configured for UDMA/100

Is there any solution for that problem or at least a workaround?

I also tried to recompile the kernel as recommended in the official
libata-faq ( http://linux-ata.org/faq.html ) but the system stuck when
booting the root-partition. Booting with combined_mode=libata or
combined_mode=ide didn't affect the performance, too.

Thanks in advance,

Oli


2007-08-26 23:59:22

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Problems with disc-performance and libata

Hi Oliver,

[Adding linux-ide to CC]

On 26/08/07, Oliver Janscheidt <[email protected]> wrote:
> Hi,
>
> I'm using a Lenovo Thinkpad with TOSHIBA MK1234GS HD and MATSHITA
> DVD-RAM UJ-850 on 82801GBM/GHM (ICH7 Family) Serial ATA Storage
> Controller IDE. The Kernel is a 2.6.22.1 from Kernel.org (with 2.6.23-rc1-
> and hdaps-queue-freezing-patch).

Could you try 2.6.23-rc3-git10?

>
> sudo hdparm -t /dev/scd0 gives
>
> Timing buffered disk reads: 2 MB in 4.47 seconds = 457.75 kB/sec

Are you using cracked cd/dvd?


cracked dvd

/sbin/hdparm -t /dev/scd0

/dev/scd0:
Timing buffered disk reads: 2 MB in 6.36 seconds = 321.78 kB/sec


new shiny dvd

/sbin/hdparm -t /dev/scd0

/dev/scd0:
Timing buffered disk reads: 14 MB in 3.14 seconds = 4.46 MB/sec

>
> sudo hdparm -t /dev/sda gives
>
> Timing buffered disk reads: 102 MB in 3.04 seconds = 33.51 MB/sec

I've got an old Maxtor HDD (also 5,400 rpm) results are similar.

>
> which is a quite poor performance and makes any streaming impossible.
> Obviously UDMA is working correctly as dmesg | grep UDMA says:
>
> [ 43.636590] ata1: SATA max UDMA/133 cmd 0xffffc20004612500 ctl
> 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> [ 43.636595] ata2: SATA max UDMA/133 cmd 0xffffc20004612580 ctl
> 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> [ 43.636599] ata3: SATA max UDMA/133 cmd 0xffffc20004612600 ctl
> 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> [ 43.636603] ata4: SATA max UDMA/133 cmd 0xffffc20004612680 ctl
> 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> [ 44.177980] ata1.00: ATA-7: TOSHIBA MK1234GSX, AH002E, max UDMA/100
> [ 44.179192] ata1.00: configured for UDMA/100
> [ 44.326918] ata5: PATA max UDMA/133 cmd 0x00000000000101f0 ctl
> 0x00000000000103f6 bmdma 0x0000000000011880 irq 14
> [ 44.326922] ata6: PATA max UDMA/133 cmd 0x0000000000010170 ctl
> 0x0000000000010376 bmdma 0x0000000000011888 irq 15
> [ 44.571970] ata5.00: ATAPI: MATSHITADVD-RAM UJ-850, RB01, max UDMA/33
> [ 44.738552] ata5.00: configured for UDMA/33
> [ 0.610332] ata5.00: configured for UDMA/33
> [ 0.750296] ata1.00: configured for UDMA/100
>
> Is there any solution for that problem or at least a workaround?
>
> I also tried to recompile the kernel as recommended in the official
> libata-faq ( http://linux-ata.org/faq.html ) but the system stuck when
> booting the root-partition. Booting with combined_mode=libata or
> combined_mode=ide didn't affect the performance, too.
>
> Thanks in advance,
>
> Oli
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 06:50:55

by Oliver Janscheidt

[permalink] [raw]
Subject: Re: Problems with disc-performance and libata

Hi Michal,

thanks for your reply!

Am Montag, den 27.08.2007, 01:59 +0200 schrieb Michal Piotrowski:
> Hi Oliver,
>
> [Adding linux-ide to CC]
>
> On 26/08/07, Oliver Janscheidt <[email protected]> wrote:
> > Hi,
> >
> > I'm using a Lenovo Thinkpad with TOSHIBA MK1234GS HD and MATSHITA
> > DVD-RAM UJ-850 on 82801GBM/GHM (ICH7 Family) Serial ATA Storage
> > Controller IDE. The Kernel is a 2.6.22.1 from Kernel.org (with 2.6.23-rc1-
> > and hdaps-queue-freezing-patch).
>
> Could you try 2.6.23-rc3-git10?

As soon as possible I'll compile the 2.6.23-rc3-git10 source code and
give a feedback at this point. Could the problem have to do with the
queue freezing patch?

>
> >
> > sudo hdparm -t /dev/scd0 gives
> >
> > Timing buffered disk reads: 2 MB in 4.47 seconds = 457.75 kB/sec
>
> Are you using cracked cd/dvd?
>
>
> cracked dvd
>
> /sbin/hdparm -t /dev/scd0
>
> /dev/scd0:
> Timing buffered disk reads: 2 MB in 6.36 seconds = 321.78 kB/sec
>
>
> new shiny dvd
>
> /sbin/hdparm -t /dev/scd0
>
> /dev/scd0:
> Timing buffered disk reads: 14 MB in 3.14 seconds = 4.46 MB/sec

Obviously it makes no difference weather the disc is new or old
(original or cracked). For my first post I used an original film-dvd.
But I repeated it with copy (DVD+R) and got the same results about 400
kB/sec.

>
> >
> > sudo hdparm -t /dev/sda gives
> >
> > Timing buffered disk reads: 102 MB in 3.04 seconds = 33.51 MB/sec
>
> I've got an old Maxtor HDD (also 5,400 rpm) results are similar.

So maybe the problem only affects /dev/scd0? Possibly the driver can't
deal with the IBM Ultrabay (swapping drives "on the fly")?

> >
> > which is a quite poor performance and makes any streaming impossible.
> > Obviously UDMA is working correctly as dmesg | grep UDMA says:
> >
> > [ 43.636590] ata1: SATA max UDMA/133 cmd 0xffffc20004612500 ctl
> > 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> > [ 43.636595] ata2: SATA max UDMA/133 cmd 0xffffc20004612580 ctl
> > 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> > [ 43.636599] ata3: SATA max UDMA/133 cmd 0xffffc20004612600 ctl
> > 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> > [ 43.636603] ata4: SATA max UDMA/133 cmd 0xffffc20004612680 ctl
> > 0x0000000000000000 bmdma 0x0000000000000000 irq 314
> > [ 44.177980] ata1.00: ATA-7: TOSHIBA MK1234GSX, AH002E, max UDMA/100
> > [ 44.179192] ata1.00: configured for UDMA/100
> > [ 44.326918] ata5: PATA max UDMA/133 cmd 0x00000000000101f0 ctl
> > 0x00000000000103f6 bmdma 0x0000000000011880 irq 14
> > [ 44.326922] ata6: PATA max UDMA/133 cmd 0x0000000000010170 ctl
> > 0x0000000000010376 bmdma 0x0000000000011888 irq 15
> > [ 44.571970] ata5.00: ATAPI: MATSHITADVD-RAM UJ-850, RB01, max UDMA/33
> > [ 44.738552] ata5.00: configured for UDMA/33
> > [ 0.610332] ata5.00: configured for UDMA/33
> > [ 0.750296] ata1.00: configured for UDMA/100
> >
> > Is there any solution for that problem or at least a workaround?
> >
> > I also tried to recompile the kernel as recommended in the official
> > libata-faq ( http://linux-ata.org/faq.html ) but the system stuck when
> > booting the root-partition. Booting with combined_mode=libata or
> > combined_mode=ide didn't affect the performance, too.
> >
> > Thanks in advance,
> >
> > Oli
> >
>
> Regards,
> Michal
>

Thanks,

Oli

2007-08-28 06:44:19

by Oliver Janscheidt

[permalink] [raw]
Subject: Re: Problems with disc-performance and libata

Hi,

yesterday I compiled a new kernel (2.6.23-rc3-git10) from Vanilla
sources and it works!

sudo hdparm -t /dev/scd0 now gives:
Timing buffered disk reads: 14 MB in 3.22 seconds = 4.34 MB/sec

So, after crawling the web for more than three weeks, this is the
solution. :) Therefore other things stop working, but these are another
road works.

Thanks,

Oli