AMD64 and RAID6

From: J. Ryan Earl
Date: Sat May 08 2004 - 12:54:44 EST

I noticed the following in my dmesg:

raid5: measuring checksumming speed
generic_sse: 6604.000 MB/sec
raid5: using function: generic_sse (6604.000 MB/sec)
raid6: int64x1 1847 MB/s
raid6: int64x2 2753 MB/s
raid6: int64x4 2878 MB/s
raid6: int64x8 1902 MB/s
raid6: sse2x1 1015 MB/s
raid6: sse2x2 1488 MB/s
raid6: sse2x4 1867 MB/s
raid6: using algorithm sse2x4 (1867 MB/s)
md: raid6 personality registered as nr 8
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27

Why doesn't RAID6 use the int64x4 algorithm in this situation? What is the motivation of setting the 'prefer field' on the sse algorithms and not on the integer based algorithms?

From drivers/md/raid6.h:
/* Routine choices */
struct raid6_calls {
void (*gen_syndrome)(int, size_t, void **);
int (*valid)(void); /* Returns 1 if this routine set is usable */
const char *name; /* Name of this routine set */
int prefer; /* Has special performance attribute */

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at