public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arne Ahrend <aahrend@web.de>
To: linux-kernel@vger.kernel.org
Subject: PATA: UDMA settings in Alans patch-2.6.17-rc4-ide1.gz better than with 2.6.17-rc6-mm2
Date: Mon, 12 Jun 2006 19:43:46 +0200	[thread overview]
Message-ID: <20060612194346.d92fbb05.aahrend@web.de> (raw)

The current 2.6.17-rc6-mm2 tree sets UDMA speed for my IDE harddisk to 33, whereas Alans patch-2.6.17-rc4-ide1.gz
patch has it at 100. This results in hdparm -T /dev/sda measurements on -mm2 roughly halved from 60+ MB/sec to 30+ MB/sec.

Measurements were in both cases taken on kernels based off 2.6.17-rc6, with Alans -rc4 patch forward-fitted.

The remaining three ATAPI devices get UDMA/33 in both setups.



Alans ide patch for 2.6.17-rc4 conflicts with this post-rc4 change in drivers/scsi/libata-core.c:

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=bb31a8faa270beafcc51a65880c5564c6b718bd6;hp=387e2b0439026aa738a9edca15a57e5c0bcb4dfc

Following patch can be used in -rc[56] after applying Alans patch in order to apply the failed hunk and also keep the post-rc4 patch from git:

--- linux-2.6.17-rc6-pata-broken/drivers/scsi/libata-core.c	2006-06-12 19:07:42.000000000 +0200
+++ linux-2.6.17-rc6-pata/drivers/scsi/libata-core.c	2006-06-06 20:16:30.000000000 +0200
@@ -3736,14 +3736,14 @@ static void atapi_packet_task(void *_dat
 		 */
 		spin_lock_irqsave(&ap->host_set->lock, flags);
 		ap->flags &= ~ATA_FLAG_NOINTR;
-		ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ 		ap->ops->data_xfer(ap, qc->dev, qc->cdb, qc->dev->cdb_len, 1);
 		ata_altstatus(ap); /* flush */
 
 		if (qc->tf.protocol == ATA_PROT_ATAPI_DMA)
 			ap->ops->bmdma_start(qc);	/* initiate bmdma */
 		spin_unlock_irqrestore(&ap->host_set->lock, flags);
 	} else {
-		ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ 		ap->ops->data_xfer(ap, qc->dev, qc->cdb, qc->dev->cdb_len, 1);
 		ata_altstatus(ap); /* flush */
 
 		/* PIO commands are handled by polling */





dmesg section from 2.6.17-rc6 with Alans -rc4 patch fitted:
-----------------------------------------------------------
pata_via 0000:00:0f.1: version 0.1.9
ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 17
PCI: VIA IRQ fixup for 0000:00:0f.1, from 255 to 1
ata3: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFC00 irq 14
ata3: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3c01 87:4003 88:203f
ata3: dev 0 ATA-7, max UDMA/100, 312581808 sectors: LBA48
ata3: dev 1 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
ata3: dev 1 ATAPI, max UDMA/33
via_do_set_mode: Mode=12 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=12 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=69 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=66 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
ata3: dev 0 configured for UDMA/100
ata3: dev 1 configured for UDMA/33
scsi2 : pata_via
isa bounce pool size: 16 pages
  Vendor: ATA       Model: SAMSUNG SP1614N   Rev: TM10
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: TOSHIBA   Model: DVD-ROM SD-M1612  Rev: X004
  Type:   CD-ROM                             ANSI SCSI revision: 05
ata4: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFC08 irq 15
ata4: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
ata4: dev 0 ATAPI, max UDMA/33
ata4: dev 1 cfg 49:0f00 82:421c 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
ata4: dev 1 ATAPI, max UDMA/33
via_do_set_mode: Mode=12 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=12 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=66 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
via_do_set_mode: Mode=66 ast broken=Y udma=133 mul=4
t.act8b = 3, t.rec8b = 1, t.active = 3, t.recover = 1
FIT t.act8b = 2, t.rec8b = 0, t.active = 2, t.recover = 0
ata4: dev 0 configured for UDMA/33
ata4: dev 1 configured for UDMA/33
scsi3 : pata_via
  Vendor: PLEXTOR   Model: CD-R   PX-W4012A  Rev: 1.06
  Type:   CD-ROM                             ANSI SCSI revision: 05
  Vendor: HL-DT-ST  Model: DVDRAM GSA-4163B  Rev: A103
  Type:   CD-ROM                             ANSI SCSI revision: 05



Cheers,

Arne

             reply	other threads:[~2006-06-12 17:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-12 17:43 Arne Ahrend [this message]
2006-06-14 12:42 ` PATA: UDMA settings in Alans patch-2.6.17-rc4-ide1.gz better than with 2.6.17-rc6-mm2 Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060612194346.d92fbb05.aahrend@web.de \
    --to=aahrend@web.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox