From cc4589ebfae6f8dbb5cf880a0a67eedab3416492 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 11 Aug 2010 00:19:05 +0100 Subject: [PATCH 1/3] Rename raid6 files now they're in a 'raid6' directory. Linus asks 'why "raid6" twice?'. No reason. Signed-off-by: David Woodhouse --- lib/raid6/Makefile | 81 +++++++++++------------ lib/raid6/{raid6algos.c => algos.c} | 0 lib/raid6/{raid6altivec.uc => altivec.uc} | 0 lib/raid6/{raid6int.uc => int.uc} | 0 lib/raid6/{raid6mmx.c => mmx.c} | 0 lib/raid6/raid6test/Makefile | 75 --------------------- lib/raid6/{raid6recov.c => recov.c} | 0 lib/raid6/{raid6sse1.c => sse1.c} | 0 lib/raid6/{raid6sse2.c => sse2.c} | 0 lib/raid6/test/Makefile | 72 ++++++++++++++++++++ lib/raid6/{raid6test => test}/test.c | 0 11 files changed, 111 insertions(+), 117 deletions(-) rename lib/raid6/{raid6algos.c => algos.c} (100%) rename lib/raid6/{raid6altivec.uc => altivec.uc} (100%) rename lib/raid6/{raid6int.uc => int.uc} (100%) rename lib/raid6/{raid6mmx.c => mmx.c} (100%) delete mode 100644 lib/raid6/raid6test/Makefile rename lib/raid6/{raid6recov.c => recov.c} (100%) rename lib/raid6/{raid6sse1.c => sse1.c} (100%) rename lib/raid6/{raid6sse2.c => sse2.c} (100%) create mode 100644 lib/raid6/test/Makefile rename lib/raid6/{raid6test => test}/test.c (100%) diff --git a/lib/raid6/Makefile b/lib/raid6/Makefile index 19bf32da644f..8a38102770f3 100644 --- a/lib/raid6/Makefile +++ b/lib/raid6/Makefile @@ -1,11 +1,8 @@ obj-$(CONFIG_RAID6_PQ) += raid6_pq.o -raid6_pq-y += raid6algos.o raid6recov.o raid6tables.o \ - raid6int1.o raid6int2.o raid6int4.o \ - raid6int8.o raid6int16.o raid6int32.o \ - raid6altivec1.o raid6altivec2.o raid6altivec4.o \ - raid6altivec8.o \ - raid6mmx.o raid6sse1.o raid6sse2.o +raid6_pq-y += algos.o recov.o tables.o int1.o int2.o int4.o \ + int8.o int16.o int32.o altivec1.o altivec2.o altivec4.o \ + altivec8.o mmx.o sse1.o sse2.o hostprogs-y += mktables quiet_cmd_unroll = UNROLL $@ @@ -16,63 +13,63 @@ ifeq ($(CONFIG_ALTIVEC),y) altivec_flags := -maltivec -mabi=altivec endif -targets += raid6int1.c -$(obj)/raid6int1.c: UNROLL := 1 -$(obj)/raid6int1.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int1.c +$(obj)/int1.c: UNROLL := 1 +$(obj)/int1.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -targets += raid6int2.c -$(obj)/raid6int2.c: UNROLL := 2 -$(obj)/raid6int2.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int2.c +$(obj)/int2.c: UNROLL := 2 +$(obj)/int2.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -targets += raid6int4.c -$(obj)/raid6int4.c: UNROLL := 4 -$(obj)/raid6int4.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int4.c +$(obj)/int4.c: UNROLL := 4 +$(obj)/int4.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -targets += raid6int8.c -$(obj)/raid6int8.c: UNROLL := 8 -$(obj)/raid6int8.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int8.c +$(obj)/int8.c: UNROLL := 8 +$(obj)/int8.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -targets += raid6int16.c -$(obj)/raid6int16.c: UNROLL := 16 -$(obj)/raid6int16.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int16.c +$(obj)/int16.c: UNROLL := 16 +$(obj)/int16.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -targets += raid6int32.c -$(obj)/raid6int32.c: UNROLL := 32 -$(obj)/raid6int32.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE +targets += int32.c +$(obj)/int32.c: UNROLL := 32 +$(obj)/int32.c: $(src)/int.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -CFLAGS_raid6altivec1.o += $(altivec_flags) -targets += raid6altivec1.c -$(obj)/raid6altivec1.c: UNROLL := 1 -$(obj)/raid6altivec1.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE +CFLAGS_altivec1.o += $(altivec_flags) +targets += altivec1.c +$(obj)/altivec1.c: UNROLL := 1 +$(obj)/altivec1.c: $(src)/altivec.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -CFLAGS_raid6altivec2.o += $(altivec_flags) -targets += raid6altivec2.c -$(obj)/raid6altivec2.c: UNROLL := 2 -$(obj)/raid6altivec2.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE +CFLAGS_altivec2.o += $(altivec_flags) +targets += altivec2.c +$(obj)/altivec2.c: UNROLL := 2 +$(obj)/altivec2.c: $(src)/altivec.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -CFLAGS_raid6altivec4.o += $(altivec_flags) -targets += raid6altivec4.c -$(obj)/raid6altivec4.c: UNROLL := 4 -$(obj)/raid6altivec4.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE +CFLAGS_altivec4.o += $(altivec_flags) +targets += altivec4.c +$(obj)/altivec4.c: UNROLL := 4 +$(obj)/altivec4.c: $(src)/altivec.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) -CFLAGS_raid6altivec8.o += $(altivec_flags) -targets += raid6altivec8.c -$(obj)/raid6altivec8.c: UNROLL := 8 -$(obj)/raid6altivec8.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE +CFLAGS_altivec8.o += $(altivec_flags) +targets += altivec8.c +$(obj)/altivec8.c: UNROLL := 8 +$(obj)/altivec8.c: $(src)/altivec.uc $(src)/unroll.awk FORCE $(call if_changed,unroll) quiet_cmd_mktable = TABLE $@ cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 ) -targets += raid6tables.c -$(obj)/raid6tables.c: $(obj)/mktables FORCE +targets += tables.c +$(obj)/tables.c: $(obj)/mktables FORCE $(call if_changed,mktable) diff --git a/lib/raid6/raid6algos.c b/lib/raid6/algos.c similarity index 100% rename from lib/raid6/raid6algos.c rename to lib/raid6/algos.c diff --git a/lib/raid6/raid6altivec.uc b/lib/raid6/altivec.uc similarity index 100% rename from lib/raid6/raid6altivec.uc rename to lib/raid6/altivec.uc diff --git a/lib/raid6/raid6int.uc b/lib/raid6/int.uc similarity index 100% rename from lib/raid6/raid6int.uc rename to lib/raid6/int.uc diff --git a/lib/raid6/raid6mmx.c b/lib/raid6/mmx.c similarity index 100% rename from lib/raid6/raid6mmx.c rename to lib/raid6/mmx.c diff --git a/lib/raid6/raid6test/Makefile b/lib/raid6/raid6test/Makefile deleted file mode 100644 index 2874cbef529d..000000000000 --- a/lib/raid6/raid6test/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -# -# This is a simple Makefile to test some of the RAID-6 code -# from userspace. -# - -CC = gcc -OPTFLAGS = -O2 # Adjust as desired -CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS) -LD = ld -AWK = awk -AR = ar -RANLIB = ranlib - -.c.o: - $(CC) $(CFLAGS) -c -o $@ $< - -%.c: ../%.c - cp -f $< $@ - -%.uc: ../%.uc - cp -f $< $@ - -all: raid6.a raid6test - -raid6.a: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \ - raid6int32.o \ - raid6mmx.o raid6sse1.o raid6sse2.o \ - raid6altivec1.o raid6altivec2.o raid6altivec4.o raid6altivec8.o \ - raid6recov.o raid6algos.o \ - raid6tables.o - rm -f $@ - $(AR) cq $@ $^ - $(RANLIB) $@ - -raid6test: test.c raid6.a - $(CC) $(CFLAGS) -o raid6test $^ - -raid6altivec1.c: raid6altivec.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=1 < raid6altivec.uc > $@ - -raid6altivec2.c: raid6altivec.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=2 < raid6altivec.uc > $@ - -raid6altivec4.c: raid6altivec.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=4 < raid6altivec.uc > $@ - -raid6altivec8.c: raid6altivec.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=8 < raid6altivec.uc > $@ - -raid6int1.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=1 < raid6int.uc > $@ - -raid6int2.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=2 < raid6int.uc > $@ - -raid6int4.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=4 < raid6int.uc > $@ - -raid6int8.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=8 < raid6int.uc > $@ - -raid6int16.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=16 < raid6int.uc > $@ - -raid6int32.c: raid6int.uc ../unroll.awk - $(AWK) ../unroll.awk -vN=32 < raid6int.uc > $@ - -raid6tables.c: mktables - ./mktables > raid6tables.c - -clean: - rm -f *.o *.a mktables mktables.c raid6int.uc raid6*.c raid6test - -spotless: clean - rm -f *~ diff --git a/lib/raid6/raid6recov.c b/lib/raid6/recov.c similarity index 100% rename from lib/raid6/raid6recov.c rename to lib/raid6/recov.c diff --git a/lib/raid6/raid6sse1.c b/lib/raid6/sse1.c similarity index 100% rename from lib/raid6/raid6sse1.c rename to lib/raid6/sse1.c diff --git a/lib/raid6/raid6sse2.c b/lib/raid6/sse2.c similarity index 100% rename from lib/raid6/raid6sse2.c rename to lib/raid6/sse2.c diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile new file mode 100644 index 000000000000..aa651697b6dc --- /dev/null +++ b/lib/raid6/test/Makefile @@ -0,0 +1,72 @@ +# +# This is a simple Makefile to test some of the RAID-6 code +# from userspace. +# + +CC = gcc +OPTFLAGS = -O2 # Adjust as desired +CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS) +LD = ld +AWK = awk -f +AR = ar +RANLIB = ranlib + +.c.o: + $(CC) $(CFLAGS) -c -o $@ $< + +%.c: ../%.c + cp -f $< $@ + +%.uc: ../%.uc + cp -f $< $@ + +all: raid6.a raid6test + +raid6.a: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o \ + altivec1.o altivec2.o altivec4.o altivec8.o recov.o algos.o \ + tables.o + rm -f $@ + $(AR) cq $@ $^ + $(RANLIB) $@ + +raid6test: test.c raid6.a + $(CC) $(CFLAGS) -o raid6test $^ + +altivec1.c: altivec.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=1 < altivec.uc > $@ + +altivec2.c: altivec.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=2 < altivec.uc > $@ + +altivec4.c: altivec.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=4 < altivec.uc > $@ + +altivec8.c: altivec.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=8 < altivec.uc > $@ + +int1.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=1 < int.uc > $@ + +int2.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=2 < int.uc > $@ + +int4.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=4 < int.uc > $@ + +int8.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=8 < int.uc > $@ + +int16.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=16 < int.uc > $@ + +int32.c: int.uc ../unroll.awk + $(AWK) ../unroll.awk -vN=32 < int.uc > $@ + +tables.c: mktables + ./mktables > tables.c + +clean: + rm -f *.o *.a mktables mktables.c *.uc int*.c altivec*.c tables.c raid6test + +spotless: clean + rm -f *~ diff --git a/lib/raid6/raid6test/test.c b/lib/raid6/test/test.c similarity index 100% rename from lib/raid6/raid6test/test.c rename to lib/raid6/test/test.c From d5302fe41ffb28d0a48be6a71becba36d3453ae0 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 12 Aug 2010 06:38:24 +1000 Subject: [PATCH 2/3] Make lib/raid6/test build correctly. Some bit-rot needs to be cleaned out. Signed-off-by: NeilBrown --- include/linux/raid/pq.h | 2 ++ lib/raid6/algos.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/raid/pq.h b/include/linux/raid/pq.h index 1cbbd2c11aa9..2b59cc824395 100644 --- a/include/linux/raid/pq.h +++ b/include/linux/raid/pq.h @@ -62,7 +62,9 @@ extern const char raid6_empty_zero_page[PAGE_SIZE]; #define disable_kernel_altivec() #define EXPORT_SYMBOL(sym) +#define EXPORT_SYMBOL_GPL(sym) #define MODULE_LICENSE(licence) +#define MODULE_DESCRIPTION(desc) #define subsys_initcall(x) #define module_exit(x) #endif /* __KERNEL__ */ diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c index 1f8784bfd44d..df7ff72777b8 100644 --- a/lib/raid6/algos.c +++ b/lib/raid6/algos.c @@ -17,11 +17,11 @@ */ #include -#include #ifndef __KERNEL__ #include #include #else +#include #if !RAID6_USE_EMPTY_ZERO_PAGE /* In .bss so it's zeroed */ const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned(256))); From a8e026c785b3fecef0ef5c00c15223542c4db8f5 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 12 Aug 2010 06:44:54 +1000 Subject: [PATCH 3/3] Further tidyup of raid6 naming in lib/raid6 Rename raid6/raid6x86.h to raid6/x86.h and modify some comments. Signed-off-by: NeilBrown --- lib/raid6/algos.c | 2 +- lib/raid6/mmx.c | 6 +++--- lib/raid6/recov.c | 2 +- lib/raid6/sse1.c | 6 +++--- lib/raid6/sse2.c | 4 ++-- lib/raid6/{raid6x86.h => x86.h} | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) rename lib/raid6/{raid6x86.h => x86.h} (99%) diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c index df7ff72777b8..b595f560bee7 100644 --- a/lib/raid6/algos.c +++ b/lib/raid6/algos.c @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6algos.c + * raid6/algos.c * * Algorithm list and algorithm selection for RAID-6 */ diff --git a/lib/raid6/mmx.c b/lib/raid6/mmx.c index e7f6c13132bf..279347f23094 100644 --- a/lib/raid6/mmx.c +++ b/lib/raid6/mmx.c @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6mmx.c + * raid6/mmx.c * * MMX implementation of RAID-6 syndrome functions */ @@ -19,9 +19,9 @@ #if defined(__i386__) && !defined(__arch_um__) #include -#include "raid6x86.h" +#include "x86.h" -/* Shared with raid6sse1.c */ +/* Shared with raid6/sse1.c */ const struct raid6_mmx_constants { u64 x1d; } raid6_mmx_constants = { diff --git a/lib/raid6/recov.c b/lib/raid6/recov.c index 2609f00e0d61..8590d19cf522 100644 --- a/lib/raid6/recov.c +++ b/lib/raid6/recov.c @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6recov.c + * raid6/recov.c * * RAID-6 data recovery in dual failure mode. In single failure mode, * use the RAID-5 algorithm (or, in the case of Q failure, just reconstruct diff --git a/lib/raid6/sse1.c b/lib/raid6/sse1.c index b274dd5eab8f..10dd91948c07 100644 --- a/lib/raid6/sse1.c +++ b/lib/raid6/sse1.c @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6sse1.c + * raid6/sse1.c * * SSE-1/MMXEXT implementation of RAID-6 syndrome functions * @@ -24,9 +24,9 @@ #if defined(__i386__) && !defined(__arch_um__) #include -#include "raid6x86.h" +#include "x86.h" -/* Defined in raid6mmx.c */ +/* Defined in raid6/mmx.c */ extern const struct raid6_mmx_constants { u64 x1d; } raid6_mmx_constants; diff --git a/lib/raid6/sse2.c b/lib/raid6/sse2.c index 6ed6c6c0389f..bc2d57daa589 100644 --- a/lib/raid6/sse2.c +++ b/lib/raid6/sse2.c @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6sse2.c + * raid6/sse2.c * * SSE-2 implementation of RAID-6 syndrome functions * @@ -20,7 +20,7 @@ #if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__) #include -#include "raid6x86.h" +#include "x86.h" static const struct raid6_sse_constants { u64 x1d[2]; diff --git a/lib/raid6/raid6x86.h b/lib/raid6/x86.h similarity index 99% rename from lib/raid6/raid6x86.h rename to lib/raid6/x86.h index 4c22c1568558..cb2a8c91c886 100644 --- a/lib/raid6/raid6x86.h +++ b/lib/raid6/x86.h @@ -11,7 +11,7 @@ * ----------------------------------------------------------------------- */ /* - * raid6x86.h + * raid6/x86.h * * Definitions common to x86 and x86-64 RAID-6 code only */