Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-linus' of git://neil.brown.name/md

* 'for-linus' of git://neil.brown.name/md:
Further tidyup of raid6 naming in lib/raid6
Make lib/raid6/test build correctly.
Rename raid6 files now they're in a 'raid6' directory.

+125 -129
+2
include/linux/raid/pq.h
··· 62 62 #define disable_kernel_altivec() 63 63 64 64 #define EXPORT_SYMBOL(sym) 65 + #define EXPORT_SYMBOL_GPL(sym) 65 66 #define MODULE_LICENSE(licence) 67 + #define MODULE_DESCRIPTION(desc) 66 68 #define subsys_initcall(x) 67 69 #define module_exit(x) 68 70 #endif /* __KERNEL__ */
+39 -42
lib/raid6/Makefile
··· 1 1 obj-$(CONFIG_RAID6_PQ) += raid6_pq.o 2 2 3 - raid6_pq-y += raid6algos.o raid6recov.o raid6tables.o \ 4 - raid6int1.o raid6int2.o raid6int4.o \ 5 - raid6int8.o raid6int16.o raid6int32.o \ 6 - raid6altivec1.o raid6altivec2.o raid6altivec4.o \ 7 - raid6altivec8.o \ 8 - raid6mmx.o raid6sse1.o raid6sse2.o 3 + raid6_pq-y += algos.o recov.o tables.o int1.o int2.o int4.o \ 4 + int8.o int16.o int32.o altivec1.o altivec2.o altivec4.o \ 5 + altivec8.o mmx.o sse1.o sse2.o 9 6 hostprogs-y += mktables 10 7 11 8 quiet_cmd_unroll = UNROLL $@ ··· 13 16 altivec_flags := -maltivec -mabi=altivec 14 17 endif 15 18 16 - targets += raid6int1.c 17 - $(obj)/raid6int1.c: UNROLL := 1 18 - $(obj)/raid6int1.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 19 + targets += int1.c 20 + $(obj)/int1.c: UNROLL := 1 21 + $(obj)/int1.c: $(src)/int.uc $(src)/unroll.awk FORCE 19 22 $(call if_changed,unroll) 20 23 21 - targets += raid6int2.c 22 - $(obj)/raid6int2.c: UNROLL := 2 23 - $(obj)/raid6int2.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 24 + targets += int2.c 25 + $(obj)/int2.c: UNROLL := 2 26 + $(obj)/int2.c: $(src)/int.uc $(src)/unroll.awk FORCE 24 27 $(call if_changed,unroll) 25 28 26 - targets += raid6int4.c 27 - $(obj)/raid6int4.c: UNROLL := 4 28 - $(obj)/raid6int4.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 29 + targets += int4.c 30 + $(obj)/int4.c: UNROLL := 4 31 + $(obj)/int4.c: $(src)/int.uc $(src)/unroll.awk FORCE 29 32 $(call if_changed,unroll) 30 33 31 - targets += raid6int8.c 32 - $(obj)/raid6int8.c: UNROLL := 8 33 - $(obj)/raid6int8.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 34 + targets += int8.c 35 + $(obj)/int8.c: UNROLL := 8 36 + $(obj)/int8.c: $(src)/int.uc $(src)/unroll.awk FORCE 34 37 $(call if_changed,unroll) 35 38 36 - targets += raid6int16.c 37 - $(obj)/raid6int16.c: UNROLL := 16 38 - $(obj)/raid6int16.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 39 + targets += int16.c 40 + $(obj)/int16.c: UNROLL := 16 41 + $(obj)/int16.c: $(src)/int.uc $(src)/unroll.awk FORCE 39 42 $(call if_changed,unroll) 40 43 41 - targets += raid6int32.c 42 - $(obj)/raid6int32.c: UNROLL := 32 43 - $(obj)/raid6int32.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE 44 + targets += int32.c 45 + $(obj)/int32.c: UNROLL := 32 46 + $(obj)/int32.c: $(src)/int.uc $(src)/unroll.awk FORCE 44 47 $(call if_changed,unroll) 45 48 46 - CFLAGS_raid6altivec1.o += $(altivec_flags) 47 - targets += raid6altivec1.c 48 - $(obj)/raid6altivec1.c: UNROLL := 1 49 - $(obj)/raid6altivec1.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE 49 + CFLAGS_altivec1.o += $(altivec_flags) 50 + targets += altivec1.c 51 + $(obj)/altivec1.c: UNROLL := 1 52 + $(obj)/altivec1.c: $(src)/altivec.uc $(src)/unroll.awk FORCE 50 53 $(call if_changed,unroll) 51 54 52 - CFLAGS_raid6altivec2.o += $(altivec_flags) 53 - targets += raid6altivec2.c 54 - $(obj)/raid6altivec2.c: UNROLL := 2 55 - $(obj)/raid6altivec2.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE 55 + CFLAGS_altivec2.o += $(altivec_flags) 56 + targets += altivec2.c 57 + $(obj)/altivec2.c: UNROLL := 2 58 + $(obj)/altivec2.c: $(src)/altivec.uc $(src)/unroll.awk FORCE 56 59 $(call if_changed,unroll) 57 60 58 - CFLAGS_raid6altivec4.o += $(altivec_flags) 59 - targets += raid6altivec4.c 60 - $(obj)/raid6altivec4.c: UNROLL := 4 61 - $(obj)/raid6altivec4.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE 61 + CFLAGS_altivec4.o += $(altivec_flags) 62 + targets += altivec4.c 63 + $(obj)/altivec4.c: UNROLL := 4 64 + $(obj)/altivec4.c: $(src)/altivec.uc $(src)/unroll.awk FORCE 62 65 $(call if_changed,unroll) 63 66 64 - CFLAGS_raid6altivec8.o += $(altivec_flags) 65 - targets += raid6altivec8.c 66 - $(obj)/raid6altivec8.c: UNROLL := 8 67 - $(obj)/raid6altivec8.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE 67 + CFLAGS_altivec8.o += $(altivec_flags) 68 + targets += altivec8.c 69 + $(obj)/altivec8.c: UNROLL := 8 70 + $(obj)/altivec8.c: $(src)/altivec.uc $(src)/unroll.awk FORCE 68 71 $(call if_changed,unroll) 69 72 70 73 quiet_cmd_mktable = TABLE $@ 71 74 cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 ) 72 75 73 - targets += raid6tables.c 74 - $(obj)/raid6tables.c: $(obj)/mktables FORCE 76 + targets += tables.c 77 + $(obj)/tables.c: $(obj)/mktables FORCE 75 78 $(call if_changed,mktable)
+2 -2
lib/raid6/raid6algos.c lib/raid6/algos.c
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6algos.c 14 + * raid6/algos.c 15 15 * 16 16 * Algorithm list and algorithm selection for RAID-6 17 17 */ 18 18 19 19 #include <linux/raid/pq.h> 20 - #include <linux/gfp.h> 21 20 #ifndef __KERNEL__ 22 21 #include <sys/mman.h> 23 22 #include <stdio.h> 24 23 #else 24 + #include <linux/gfp.h> 25 25 #if !RAID6_USE_EMPTY_ZERO_PAGE 26 26 /* In .bss so it's zeroed */ 27 27 const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned(256)));
lib/raid6/raid6altivec.uc lib/raid6/altivec.uc
lib/raid6/raid6int.uc lib/raid6/int.uc
+3 -3
lib/raid6/raid6mmx.c lib/raid6/mmx.c
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6mmx.c 14 + * raid6/mmx.c 15 15 * 16 16 * MMX implementation of RAID-6 syndrome functions 17 17 */ ··· 19 19 #if defined(__i386__) && !defined(__arch_um__) 20 20 21 21 #include <linux/raid/pq.h> 22 - #include "raid6x86.h" 22 + #include "x86.h" 23 23 24 - /* Shared with raid6sse1.c */ 24 + /* Shared with raid6/sse1.c */ 25 25 const struct raid6_mmx_constants { 26 26 u64 x1d; 27 27 } raid6_mmx_constants = {
+1 -1
lib/raid6/raid6recov.c lib/raid6/recov.c
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6recov.c 14 + * raid6/recov.c 15 15 * 16 16 * RAID-6 data recovery in dual failure mode. In single failure mode, 17 17 * use the RAID-5 algorithm (or, in the case of Q failure, just reconstruct
+3 -3
lib/raid6/raid6sse1.c lib/raid6/sse1.c
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6sse1.c 14 + * raid6/sse1.c 15 15 * 16 16 * SSE-1/MMXEXT implementation of RAID-6 syndrome functions 17 17 * ··· 24 24 #if defined(__i386__) && !defined(__arch_um__) 25 25 26 26 #include <linux/raid/pq.h> 27 - #include "raid6x86.h" 27 + #include "x86.h" 28 28 29 - /* Defined in raid6mmx.c */ 29 + /* Defined in raid6/mmx.c */ 30 30 extern const struct raid6_mmx_constants { 31 31 u64 x1d; 32 32 } raid6_mmx_constants;
+2 -2
lib/raid6/raid6sse2.c lib/raid6/sse2.c
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6sse2.c 14 + * raid6/sse2.c 15 15 * 16 16 * SSE-2 implementation of RAID-6 syndrome functions 17 17 * ··· 20 20 #if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__) 21 21 22 22 #include <linux/raid/pq.h> 23 - #include "raid6x86.h" 23 + #include "x86.h" 24 24 25 25 static const struct raid6_sse_constants { 26 26 u64 x1d[2];
-75
lib/raid6/raid6test/Makefile
··· 1 - # 2 - # This is a simple Makefile to test some of the RAID-6 code 3 - # from userspace. 4 - # 5 - 6 - CC = gcc 7 - OPTFLAGS = -O2 # Adjust as desired 8 - CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS) 9 - LD = ld 10 - AWK = awk 11 - AR = ar 12 - RANLIB = ranlib 13 - 14 - .c.o: 15 - $(CC) $(CFLAGS) -c -o $@ $< 16 - 17 - %.c: ../%.c 18 - cp -f $< $@ 19 - 20 - %.uc: ../%.uc 21 - cp -f $< $@ 22 - 23 - all: raid6.a raid6test 24 - 25 - raid6.a: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \ 26 - raid6int32.o \ 27 - raid6mmx.o raid6sse1.o raid6sse2.o \ 28 - raid6altivec1.o raid6altivec2.o raid6altivec4.o raid6altivec8.o \ 29 - raid6recov.o raid6algos.o \ 30 - raid6tables.o 31 - rm -f $@ 32 - $(AR) cq $@ $^ 33 - $(RANLIB) $@ 34 - 35 - raid6test: test.c raid6.a 36 - $(CC) $(CFLAGS) -o raid6test $^ 37 - 38 - raid6altivec1.c: raid6altivec.uc ../unroll.awk 39 - $(AWK) ../unroll.awk -vN=1 < raid6altivec.uc > $@ 40 - 41 - raid6altivec2.c: raid6altivec.uc ../unroll.awk 42 - $(AWK) ../unroll.awk -vN=2 < raid6altivec.uc > $@ 43 - 44 - raid6altivec4.c: raid6altivec.uc ../unroll.awk 45 - $(AWK) ../unroll.awk -vN=4 < raid6altivec.uc > $@ 46 - 47 - raid6altivec8.c: raid6altivec.uc ../unroll.awk 48 - $(AWK) ../unroll.awk -vN=8 < raid6altivec.uc > $@ 49 - 50 - raid6int1.c: raid6int.uc ../unroll.awk 51 - $(AWK) ../unroll.awk -vN=1 < raid6int.uc > $@ 52 - 53 - raid6int2.c: raid6int.uc ../unroll.awk 54 - $(AWK) ../unroll.awk -vN=2 < raid6int.uc > $@ 55 - 56 - raid6int4.c: raid6int.uc ../unroll.awk 57 - $(AWK) ../unroll.awk -vN=4 < raid6int.uc > $@ 58 - 59 - raid6int8.c: raid6int.uc ../unroll.awk 60 - $(AWK) ../unroll.awk -vN=8 < raid6int.uc > $@ 61 - 62 - raid6int16.c: raid6int.uc ../unroll.awk 63 - $(AWK) ../unroll.awk -vN=16 < raid6int.uc > $@ 64 - 65 - raid6int32.c: raid6int.uc ../unroll.awk 66 - $(AWK) ../unroll.awk -vN=32 < raid6int.uc > $@ 67 - 68 - raid6tables.c: mktables 69 - ./mktables > raid6tables.c 70 - 71 - clean: 72 - rm -f *.o *.a mktables mktables.c raid6int.uc raid6*.c raid6test 73 - 74 - spotless: clean 75 - rm -f *~
lib/raid6/raid6test/test.c lib/raid6/test/test.c
+1 -1
lib/raid6/raid6x86.h lib/raid6/x86.h
··· 11 11 * ----------------------------------------------------------------------- */ 12 12 13 13 /* 14 - * raid6x86.h 14 + * raid6/x86.h 15 15 * 16 16 * Definitions common to x86 and x86-64 RAID-6 code only 17 17 */
+72
lib/raid6/test/Makefile
··· 1 + # 2 + # This is a simple Makefile to test some of the RAID-6 code 3 + # from userspace. 4 + # 5 + 6 + CC = gcc 7 + OPTFLAGS = -O2 # Adjust as desired 8 + CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS) 9 + LD = ld 10 + AWK = awk -f 11 + AR = ar 12 + RANLIB = ranlib 13 + 14 + .c.o: 15 + $(CC) $(CFLAGS) -c -o $@ $< 16 + 17 + %.c: ../%.c 18 + cp -f $< $@ 19 + 20 + %.uc: ../%.uc 21 + cp -f $< $@ 22 + 23 + all: raid6.a raid6test 24 + 25 + raid6.a: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o \ 26 + altivec1.o altivec2.o altivec4.o altivec8.o recov.o algos.o \ 27 + tables.o 28 + rm -f $@ 29 + $(AR) cq $@ $^ 30 + $(RANLIB) $@ 31 + 32 + raid6test: test.c raid6.a 33 + $(CC) $(CFLAGS) -o raid6test $^ 34 + 35 + altivec1.c: altivec.uc ../unroll.awk 36 + $(AWK) ../unroll.awk -vN=1 < altivec.uc > $@ 37 + 38 + altivec2.c: altivec.uc ../unroll.awk 39 + $(AWK) ../unroll.awk -vN=2 < altivec.uc > $@ 40 + 41 + altivec4.c: altivec.uc ../unroll.awk 42 + $(AWK) ../unroll.awk -vN=4 < altivec.uc > $@ 43 + 44 + altivec8.c: altivec.uc ../unroll.awk 45 + $(AWK) ../unroll.awk -vN=8 < altivec.uc > $@ 46 + 47 + int1.c: int.uc ../unroll.awk 48 + $(AWK) ../unroll.awk -vN=1 < int.uc > $@ 49 + 50 + int2.c: int.uc ../unroll.awk 51 + $(AWK) ../unroll.awk -vN=2 < int.uc > $@ 52 + 53 + int4.c: int.uc ../unroll.awk 54 + $(AWK) ../unroll.awk -vN=4 < int.uc > $@ 55 + 56 + int8.c: int.uc ../unroll.awk 57 + $(AWK) ../unroll.awk -vN=8 < int.uc > $@ 58 + 59 + int16.c: int.uc ../unroll.awk 60 + $(AWK) ../unroll.awk -vN=16 < int.uc > $@ 61 + 62 + int32.c: int.uc ../unroll.awk 63 + $(AWK) ../unroll.awk -vN=32 < int.uc > $@ 64 + 65 + tables.c: mktables 66 + ./mktables > tables.c 67 + 68 + clean: 69 + rm -f *.o *.a mktables mktables.c *.uc int*.c altivec*.c tables.c raid6test 70 + 71 + spotless: clean 72 + rm -f *~