Re: [PATCH] sata_sx4: speed up ECC initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexander Beregalov wrote:
2009/4/15 Jeff Garzik <jeff@xxxxxxxxxx>:
Alexander Beregalov wrote:
On Tue, Apr 14, 2009 at 07:57:57AM -0400, Jeff Garzik wrote:
Alexander Beregalov wrote:
ECC initialization takes too long. It writes zeroes by portions of 4
byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
Change portion to 1Mb.

before:
[10857.207576] pdc20621_dimm_init: Start ECC initialization
[11235.333118] pdc20621_dimm_init: Finish ECC initialization

after:
[ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
[ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
[ 1005.133508] Local DIMM ECC Enabled
[ 1005.236482] pdc20621_dimm_init: Start ECC initialization
[ 1031.278098] pdc20621_dimm_init: Finish ECC initialization

Comments:

1) on an older machine, where these things might be found, 1MB might be a
lot -- particularly if there is a lot of VM fragmentation.  Please reduce
the size a bit -- I suppose 128k is not unbearably slow?

2) Rather than repeating 'page size * 32' calculation multiple times, put
it into a named constant somewhere.

Other than that, looks ok!

From 00e980a4651ef12811fbe9a893a7e72510b955d1 Mon Sep 17 00:00:00 2001
From: Alexander Beregalov <a.beregalov@xxxxxxxxx>
Date: Tue, 14 Apr 2009 23:55:52 +0400
Subject: [PATCH v2] sata_sx4: speed up ECC initialization

ECC initialization takes too long. It writes zeroes by portions
of 4 byte, it takes more than 6 minutes on my machine to initialize
512Mb ECC DIMM module. Change portion to 128Kb - it significantly
reduces initialization time.

Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx>
---
 drivers/ata/sata_sx4.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

Applied, to libata-dev.git#upstream

Thanks!

So...   the $64,000 question:  does sata_sx4 work for you?

No, not yet! :)
It works without disks ;)
It has found disks, but got timeout from them.
Some specific functions should be added to ops structure.

At first I am trying to understand how to detect cable type.
I have two examples: from Promise partial source code and from FreeBSD.

But PGuide says the chip automatically detects cable type.
Does it mean the driver should not do anything with it? - I will try it.

Check out 2.6.30-rc6, sata_sx4 received several major bug fixes...

	Jeff




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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux