Robert Hancock | 1 Jan 01:32 2008
Picon

Re: SATA kernel-buffered read VERY slow (not raid, Promise TX300 card); 2.6.23.1(vanilla)

Linda Walsh wrote:
> Robert Hancock wrote:
>>> Have you tried using a different block size to see how that effects 
>>> the results? There might be some funny interaction there.
> ----
>    There is some interaction with the large block size (but only on the 
> SATA
> disk).  Counts were adjusted to keep the read near 2G (~2x physical 
> memory).
>  From 1k-16k block sizes, I got into the low-mid 40MB/s on buffered SATA
> (compared to 50-60MB/s on ATA & SCSI).  Starting at 32k-64k, the read
> rate began falling and at 128k block-reads-at-a-time or larger, it drops 
> below
> 20MB/s (again, only on buffered SATA).   It's hard to imagine what would
> slow down buffered SATA reads but not ATA and SCSI reads of the same
> size.  I'm using the 'cfq' scheduler with everything running at default
> priorities, but again, why only SATA slowness?  It seems that at the driver
> level, using direct reads, the SATA disk has the highest read rate (near
> 80MB/s).
>    It would certainly be perverse to have faster driver & device 
> performance
> equate to lower buffered I/O.

Not too sure on that one. I suspect one might have to trace the actual 
requests being received at the driver level somehow with buffered reads 
in order to diagnose what's going on there..

>>
>>> I wanted to use the newer pata support in the SATA lib, but
>>> got frustrated "real fast" by the lack of disk-parameter support
(Continue reading)

Mark Lord | 1 Jan 17:06 2008
Picon

Re: SATA kernel-buffered read VERY slow (not raid, Promise TX300 card); 2.6.23.1(vanilla)


>>>> I wanted to use the newer pata support in the SATA lib, but
>>>> got frustrated "real fast" by the lack of disk-parameter support
>>>> in the new pata library (hdparm is mostly broken; and the SCSI
>>>> utils aren't really intended for ATA(or SATA?) disks using the
>>>> SCSI interface.
...

Most hdparm flags work perfectly fine with libata,
unless perhaps you're using Fedora, which for some odd
reason was using a 2+ year old copy of hdparm until
very very recently.

As others noted, the only things not working are things that
libata itself chooses not to allow from userspace because libata
has better low-level drivers that can set those things automatically
in a more reliable fashion than we ever could with drivers/ide:
  DMA, 32-bit I/O, PIO/DMA xfer rates, hotplug stuff.

The rest, including acoustic and power-saving parameters,
work just fine with libata.

Cheers
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Gabor Gombas | 1 Jan 17:44 2008
Picon

Re: sata_nv + ADMA + Samsung disk problem

Hi,

Just FYI I've tried to enable ADMA again (now running 2.6.24-rc6) but
the bug is still present:

Jan  1 16:11:21 host kernel: ata7: EH in ADMA mode, notifier 0x0 notifier_error 0x0 gen_ctl 0x1501000
status 0x400 next cpb count 0x0 next cpb idx 0x0
Jan  1 16:11:21 host kernel: ata7: CPB 0: ctl_flags 0x9, resp_flags 0x0
Jan  1 16:11:21 host kernel: ata7: timeout waiting for ADMA IDLE, stat=0x400
Jan  1 16:11:21 host kernel: ata7: timeout waiting for ADMA LEGACY, stat=0x400
Jan  1 16:11:21 host kernel: ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
Jan  1 16:11:21 host kernel: ata7.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 0
Jan  1 16:11:21 host kernel:          res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
Jan  1 16:11:21 host kernel: ata7.00: status: { DRDY }
Jan  1 16:11:21 host kernel: ata7: soft resetting link
Jan  1 16:11:22 host kernel: ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jan  1 16:11:22 host kernel: ata7.00: configured for UDMA/133
Jan  1 16:11:22 host kernel: ata7: EH complete
Jan  1 16:11:22 host kernel: sd 6:0:0:0: [sdc] 488397168 512-byte hardware sectors (250059 MB)
Jan  1 16:11:22 host kernel: sd 6:0:0:0: [sdc] Write Protect is off
Jan  1 16:11:22 host kernel: sd 6:0:0:0: [sdc] Mode Sense: 00 3a 00 00
Jan  1 16:11:22 host kernel: sd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA

Although this time the above happened more than 3 hours after boot
which is much better than 2.6.22 was. In the past ~4 months ADMA was
disabled and I never had any libata-related error messages.

SMART does not show anything interesting:

(Continue reading)

Gwendal Grignou | 1 Jan 17:50 2008
Picon

[PATCH 2.6.24 1/1] sata_sil24: prevent hba lockup when pass-through ATA commands are used

Fix commands timeout with Sil3124/3132 based HBA when pass-through ATA
commands [where ATA_QCFLAG_RESULT_TF is set] are used while other
commands are active on other devices
connected to the same port with a Port Multiplier.
Due to a hardware bug, these commands must be sent alone, like ATAPI commands.
---
 drivers/ata/sata_sil24.c |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 96fd526..56cddc7 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
 <at>  <at>  -832,16 +832,32  <at>  <at>  static int sil24_qc_defer(struct ata_que
 	struct ata_link *link = qc->dev->link;
 	struct ata_port *ap = link->ap;
 	u8 prot = qc->tf.protocol;
-	int is_atapi = (prot == ATA_PROT_ATAPI ||
-			prot == ATA_PROT_ATAPI_NODATA ||
-			prot == ATA_PROT_ATAPI_DMA);
-
-	/* ATAPI commands completing with CHECK_SENSE cause various
-	 * weird problems if other commands are active.  PMP DMA CS
-	 * errata doesn't cover all and HSM violation occurs even with
-	 * only one other device active.  Always run an ATAPI command
-	 * by itself.
+
+	/*
+	 * There is a bug in the chip:
+	 * Port LRAM Causes the PRB/SGT Data to be Corrupted
(Continue reading)

Bartlomiej Zolnierkiewicz | 1 Jan 18:38 2008
Picon

Re: [PATCH 1/2] trm290: cannot call ide_setup_dma()

On Sunday 30 December 2007, Sergei Shtylyov wrote:
> The TRM-290 chip is *not* SFF-8038i compatible and therefore can *not* call
> ide_setup_dma() -- fix this and also cleanup the code a bit...
> 
> Signed-off-by: Sergei Shtylyov <sshtylyov <at> ru.mvista.com>

applied
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Bartlomiej Zolnierkiewicz | 1 Jan 18:38 2008
Picon

Re: [PATCH 2/2] ide_setup_dma() assumes 8 ports

On Sunday 30 December 2007, Sergei Shtylyov wrote:
> According to http://marc.info/?l=linux-ide&m=114346138611631, the drivers must
> always register 8 DMA ports with ide_setup_dma(), so its last argument is  not
> needed. While at it, kill some useless parens in that function...
> 
> Signed-off-by: Sergei Shtylyov <sshtylyov <at> ru.mvista.com>

applied
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Bartlomiej Zolnierkiewicz | 1 Jan 18:42 2008
Picon

[PATCH 3/3] ide: update/add my Copyrights


The last years stuff and a trip down memory lane...

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier <at> gmail.com>
---
 drivers/ide/ide-cd.c       |    8 ++++----
 drivers/ide/ide-disk.c     |    9 +++++----
 drivers/ide/ide-dma.c      |    7 +++----
 drivers/ide/ide-floppy.c   |    5 +++--
 drivers/ide/ide-probe.c    |    3 ++-
 drivers/ide/ide-tape.c     |    3 ++-
 drivers/ide/ide-taskfile.c |    8 ++++----
 drivers/ide/ide.c          |    3 ++-
 drivers/ide/setup-pci.c    |    5 +++--
 drivers/scsi/ide-scsi.c    |    3 ++-
 10 files changed, 30 insertions(+), 24 deletions(-)

Index: b/drivers/ide/ide-cd.c
===================================================================
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
 <at>  <at>  -1,10 +1,10  <at>  <at> 
 /*
  * ATAPI CD-ROM driver.
  *
- * Copyright (C) 1994-1996  Scott Snyder <snyder <at> fnald0.fnal.gov>
- * Copyright (C) 1996-1998  Erik Andersen <andersee <at> debian.org>
- * Copyright (C) 1998-2000  Jens Axboe <axboe <at> suse.de>
- * Copyright (C)      2007  Bartlomiej Zolnierkiewicz
+ * Copyright (C) 1994-1996   Scott Snyder <snyder <at> fnald0.fnal.gov>
(Continue reading)

Bartlomiej Zolnierkiewicz | 1 Jan 18:41 2008
Picon

[PATCH 2/3] ide: delete filenames from comments


Delete filenames from comments.

While at it:

* Delete versions from comments in ide-dma.c, ide-iops.c, ide-probe.c,
  ide-proc.c, ide-taskfile.c, and setup-pci.c (all these files are a part
  of IDE core module), and also ide-timing.h.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier <at> gmail.com>
---
 drivers/ide/arm/bast-ide.c     |    3 +--
 drivers/ide/arm/icside.c       |    2 --
 drivers/ide/arm/rapide.c       |    2 --
 drivers/ide/cris/ide-cris.c    |    3 +--
 drivers/ide/h8300/ide-h8300.c  |    1 -
 drivers/ide/ide-acpi.c         |    1 -
 drivers/ide/ide-cd.h           |    2 --
 drivers/ide/ide-disk.c         |    2 --
 drivers/ide/ide-dma.c          |    3 +--
 drivers/ide/ide-floppy.c       |    2 --
 drivers/ide/ide-iops.c         |    2 --
 drivers/ide/ide-pnp.c          |    2 --
 drivers/ide/ide-probe.c        |    2 --
 drivers/ide/ide-proc.c         |    2 --
 drivers/ide/ide-tape.c         |    2 --
 drivers/ide/ide-taskfile.c     |    2 --
 drivers/ide/ide-timing.h       |    2 --
 drivers/ide/ide.c              |    2 --
 drivers/ide/legacy/ali14xx.c   |    2 --
(Continue reading)

Bartlomiej Zolnierkiewicz | 1 Jan 18:40 2008
Picon

[PATCH 1/3] ide: use MODULE_VERSION()


* Replace driver versions in comments by DRV_VERSION define.

* Add MODULE_VERSION(DRV_VERSION) to drivers defining DRV_VERSION.

While at it:

* Replace local version defines by DRV_VERSION.

* Bump driver version in ide-floppy to match generic format
  ("0.99.newide" -> "1.00").

* Change printk() level in ide-floppy banner message to KERN_INFO.

* Bump driver version in IDE core module to match generic format
  ("Id: ide.c 7.00a2 20020906" -> "7.00").

* Remove unused REVISION define from ide.c.

* Update (the previously unused) DRV_VERSION define in au1xxx-ide.c.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier <at> gmail.com>
---
 drivers/ide/ide-cd.c           |    7 ++++---
 drivers/ide/ide-disk.c         |    9 +++++----
 drivers/ide/ide-floppy.c       |   12 +++++++-----
 drivers/ide/ide-tape.c         |    9 +++++----
 drivers/ide/ide.c              |   11 ++++++-----
 drivers/ide/legacy/ali14xx.c   |    5 ++++-
 drivers/ide/legacy/dtc2278.c   |    5 ++++-
(Continue reading)

Adrian Bunk | 1 Jan 18:53 2008

Re: [PATCH 1/3] ide: use MODULE_VERSION()

On Tue, Jan 01, 2008 at 06:40:38PM +0100, Bartlomiej Zolnierkiewicz wrote:
> 
> * Replace driver versions in comments by DRV_VERSION define.
> 
> * Add MODULE_VERSION(DRV_VERSION) to drivers defining DRV_VERSION.
>...

Could you limit this to actively maintained version numbers and also 
remove the others from .version, printk's,...?

An example:

> --- a/drivers/ide/legacy/umc8672.c
> +++ b/drivers/ide/legacy/umc8672.c
>  <at>  <at>  -1,5 +1,5  <at>  <at> 
>  /*
> - *  linux/drivers/ide/legacy/umc8672.c		Version 0.05	Jul 31, 1996
> + *  linux/drivers/ide/legacy/umc8672.c
>   *
>   *  Copyright (C) 1995-1996  Linus Torvalds & author (see below)
>   */
>  <at>  <at>  -53,6 +53,8  <at>  <at> 
>  
>  #include <asm/io.h>
>  
> +#define DRV_VERSION	"0.05"
> +
>  /*
>   * Default speeds.  These can be changed with "auto-tune" and/or hdparm.
>   */
(Continue reading)


Gmane