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.
This commit is contained in:
commit
7367f5b013
13 changed files with 125 additions and 129 deletions
|
@ -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__ */
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -11,17 +11,17 @@
|
|||
* ----------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* raid6algos.c
|
||||
* raid6/algos.c
|
||||
*
|
||||
* Algorithm list and algorithm selection for RAID-6
|
||||
*/
|
||||
|
||||
#include <linux/raid/pq.h>
|
||||
#include <linux/gfp.h>
|
||||
#ifndef __KERNEL__
|
||||
#include <sys/mman.h>
|
||||
#include <stdio.h>
|
||||
#else
|
||||
#include <linux/gfp.h>
|
||||
#if !RAID6_USE_EMPTY_ZERO_PAGE
|
||||
/* In .bss so it's zeroed */
|
||||
const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned(256)));
|
|
@ -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 <linux/raid/pq.h>
|
||||
#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 = {
|
|
@ -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 *~
|
|
@ -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
|
|
@ -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 <linux/raid/pq.h>
|
||||
#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;
|
|
@ -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 <linux/raid/pq.h>
|
||||
#include "raid6x86.h"
|
||||
#include "x86.h"
|
||||
|
||||
static const struct raid6_sse_constants {
|
||||
u64 x1d[2];
|
72
lib/raid6/test/Makefile
Normal file
72
lib/raid6/test/Makefile
Normal file
|
@ -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 *~
|
|
@ -11,7 +11,7 @@
|
|||
* ----------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* raid6x86.h
|
||||
* raid6/x86.h
|
||||
*
|
||||
* Definitions common to x86 and x86-64 RAID-6 code only
|
||||
*/
|
Loading…
Reference in a new issue