Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://neil.brown.name/md
Browse files Browse the repository at this point in the history
* '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.
  • Loading branch information
torvalds committed Aug 12, 2010
2 parents ce4327d + a8e026c commit 7367f5b
Show file tree
Hide file tree
Showing 13 changed files with 125 additions and 129 deletions.
2 changes: 2 additions & 0 deletions include/linux/raid/pq.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */
Expand Down
81 changes: 39 additions & 42 deletions lib/raid6/Makefile
Original file line number Diff line number Diff line change
@@ -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 $@
Expand All @@ -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)
4 changes: 2 additions & 2 deletions lib/raid6/raid6algos.c → lib/raid6/algos.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)));
Expand Down
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions lib/raid6/raid6mmx.c → lib/raid6/mmx.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@
* ----------------------------------------------------------------------- */

/*
* raid6mmx.c
* raid6/mmx.c
*
* MMX implementation of RAID-6 syndrome functions
*/

#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 = {
Expand Down
75 changes: 0 additions & 75 deletions lib/raid6/raid6test/Makefile

This file was deleted.

2 changes: 1 addition & 1 deletion lib/raid6/raid6recov.c → lib/raid6/recov.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions lib/raid6/raid6sse1.c → lib/raid6/sse1.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* ----------------------------------------------------------------------- */

/*
* raid6sse1.c
* raid6/sse1.c
*
* SSE-1/MMXEXT implementation of RAID-6 syndrome functions
*
Expand All @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions lib/raid6/raid6sse2.c → lib/raid6/sse2.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* ----------------------------------------------------------------------- */

/*
* raid6sse2.c
* raid6/sse2.c
*
* SSE-2 implementation of RAID-6 syndrome functions
*
Expand All @@ -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];
Expand Down
72 changes: 72 additions & 0 deletions lib/raid6/test/Makefile
Original file line number Diff line number Diff line change
@@ -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 *~
File renamed without changes.
2 changes: 1 addition & 1 deletion lib/raid6/raid6x86.h → lib/raid6/x86.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* ----------------------------------------------------------------------- */

/*
* raid6x86.h
* raid6/x86.h
*
* Definitions common to x86 and x86-64 RAID-6 code only
*/
Expand Down

0 comments on commit 7367f5b

Please sign in to comment.