lkml.org 
[lkml]   [2003]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: cciss update for 2.4.24-pre1, #3
Marcelo,
Prefetch has undergone extensive testing internally. Other groups are
continuing to test it, also. All controllers on the street now have
prefetch enabled. When version 1.92 of the controller f/w is released
prefetch will be disabled by default. This patch re-enables it on x86 only
because of a _big_ performance hit in RAID1 operations.
This is on my list for 2.6. Since it has now been released I will begin
submitting updates after Christmas. (My list for 2.6 is extensive.)
Also, please include this version of the patch rather than my first
submission. I moved a variable inside the ifdef to clean up warnings on
non-x86 platforms.

Thanks,
mikem
mike.miller@hp.com
------------------------------------------------------------------------------
diff -burN lx2424pre1.test2/drivers/block/cciss.c lx2424pre1.test/drivers/block/cciss.c
--- lx2424pre1.test2/drivers/block/cciss.c 2003-12-18 09:12:52.000000000 -0600
+++ lx2424pre1.test/drivers/block/cciss.c 2003-12-18 09:09:11.000000000 -0600
@@ -2675,6 +2675,15 @@
printk("Does not appear to be a valid CISS config table\n");
return -1;
}
+
+#ifdef CONFIG_X86
+ /* Need to enable prefetch in the SCSI core for 6400 in x86 */
+ __u32 prefetch;
+ prefetch = readl(&(c->cfgtable->SCSI_Prefetch));
+ prefetch |= 0x100;
+ writel(prefetch, &(c->cfgtable->SCSI_Prefetch));
+#endif
+
#ifdef CCISS_DEBUG
printk("Trying to put board into Simple mode\n");
#endif /* CCISS_DEBUG */
diff -burN lx2424pre1.test2/drivers/block/cciss_cmd.h lx2424pre1.test/drivers/block/cciss_cmd.h
--- lx2424pre1.test2/drivers/block/cciss_cmd.h 2003-06-13 09:51:32.000000000 -0500
+++ lx2424pre1.test/drivers/block/cciss_cmd.h 2003-12-18 09:10:01.000000000 -0600
@@ -266,6 +266,7 @@
DWORD Reserved;
BYTE ServerName[16];
DWORD HeartBeat;
+ DWORD SCSI_Prefetch;
} CfgTable_struct;
#pragma pack()
#endif /* CCISS_CMD_H */
-------------------------------------------------------------------------------
On Fri, 19 Dec 2003, Marcelo Tosatti wrote:
>
>
> On Wed, 17 Dec 2003 mikem@beardog.cca.cpqcorp.net wrote:
>
> > Sorry I forgot to send this fix in with the 2 patches I submitted
> > yesterday. We found a bug in the ASIC used on the 64xx Smart Array
> > controllers. When prefetching from host memory we grab an extra 750 or
> > so bytes of data. If this occurs on a memory boundary the machine will crash.
> > This is primarily an issue on IPF and Alpha systems although it could happen
> > on other platforms. Proliant systems are not affected by this bug because
> > memory is contiguous and the top 4k of memory is masked off by the system
> > firmware. The solution to the problem is to disable SCSI prefetch in the
> > controller firmware. This results in a performance hit on x86 during RAID1
> > operations. This patch turns on prefetch for x86 based systems only.
> > Please consider this patch for inclusion in the 2.4.24 kernel.
> > This patch should be applied after the 2 I submitted yesterday. It will
> > patch into a fresh tree with offsets.
>
> The other two patches have been included.
>
> Has the prefetching been tested for long? Which kernels have it enabled?
>
> What about 2.6?
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:59    [W:0.792 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site