summaryrefslogtreecommitdiffstats
path: root/lib/raid6
Commit message (Collapse)AuthorAgeFilesLines
* lib/raid6: build proper files on corresponding archYuanhan Liu2012-12-138-27/+28
| | | | | | | | | | | sse and avx2 stuff only exist on x86 arch, and we don't need to build altivec on x86. And we can do that at lib/raid6/Makefile. Proposed-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: Add AVX2 optimized gen_syndrome functionsYuanhan Liu2012-12-134-2/+272
| | | | | | | | | | Add AVX2 optimized gen_syndrom functions, which is simply based on sse2.c written by hpa. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: Add AVX2 optimized recovery functionsJim Kukunas2012-12-135-7/+341
| | | | | | | | | | | | | Optimize RAID6 recovery functions to take advantage of the 256-bit YMM integer instructions introduced in AVX2. The patch was tested and benchmarked before submission. However hardware is not yet released so benchmark numbers cannot be reported. Acked-by: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: fix sparse warnings in recovery functionsJim Kukunas2012-05-282-6/+8
| | | | | | | | | | | | | | | | | Make the recovery functions static to fix the following sparse warnings: lib/raid6/recov.c:25:6: warning: symbol 'raid6_2data_recov_intx1' was not declared. Should it be static? lib/raid6/recov.c:69:6: warning: symbol 'raid6_datap_recov_intx1' was not declared. Should it be static? lib/raid6/recov_ssse3.c:22:6: warning: symbol 'raid6_2data_recov_ssse3' was not declared. Should it be static? lib/raid6/recov_ssse3.c:197:6: warning: symbol 'raid6_datap_recov_ssse3' was not declared. Should it be static? Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: cleanup gen_syndrome function selectionJim Kukunas2012-05-221-47/+57
| | | | | | | | | | | Reorders functions in raid6_algos as well as the preference check to reduce the number of functions tested on initialization. Also, creates symmetry between choosing the gen_syndrome functions and choosing the recovery functions. Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: update test program for recovery functionsJim Kukunas2012-05-223-17/+32
| | | | | | | | Test each combination of recovery and syndrome generation functions. Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: Add SSSE3 optimized recovery functionsJim Kukunas2012-05-225-5/+409
| | | | | | | | | Add SSSE3 optimized recovery functions, as well as a system for selecting the most appropriate recovery functions to use. Originally-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* lib/raid6: fix test program buildJim Kukunas2012-05-221-1/+1
| | | | | | | | <linux/module.h> drags in headers which are not visible to userspace, thus breaking the build for the test program. Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* Remove all #inclusions of asm/system.hDavid Howells2012-03-281-1/+0
| | | | | | | | | Remove all #inclusions of asm/system.h preparatory to splitting and killing it. Performed with the following command: perl -p -i -e 's!^#\s*include\s*<asm/system[.]h>.*\n!!' `grep -Irl '^#\s*include\s*<asm/system[.]h>' *` Signed-off-by: David Howells <dhowells@redhat.com>
* Disintegrate asm/system.h for PowerPCDavid Howells2012-03-281-0/+1
| | | | | | | | Disintegrate asm/system.h for PowerPC. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> cc: linuxppc-dev@lists.ozlabs.org
* md: Add in export.h for files using EXPORT_SYMBOLPaul Gortmaker2011-10-312-0/+2
| | | | | | | | These files were getting the defines for EXPORT_SYMBOL because device.h was including module.h. But we are going to put an end to that. So add the proper export.h include now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* md: Add module.h to all files using it implicitlyPaul Gortmaker2011-10-311-0/+1
| | | | | | | | A pending cleanup will mean that module.h won't be implicitly everywhere anymore. Make sure the modular drivers in md dir are actually calling out for <module.h> explicitly in advance. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* lib/raid6: Fix filename emitted in generated codeDan McGee2011-10-201-1/+1
| | | | | | | | The files were renamed in commit cc4589ebf; fix the name in the file itself. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
* Move .gitignore from drivers/md to lib/raid6NeilBrown2010-08-301-0/+4
| | | | | | | Another missing bit of the raid6 -> /lib move. Reported-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: NeilBrown <neilb@suse.de>
* Further tidyup of raid6 naming in lib/raid6NeilBrown2010-08-126-11/+11
| | | | | | | Rename raid6/raid6x86.h to raid6/x86.h and modify some comments. Signed-off-by: NeilBrown <neilb@suse.de>
* Make lib/raid6/test build correctly.NeilBrown2010-08-121-1/+1
| | | | | | Some bit-rot needs to be cleaned out. Signed-off-by: NeilBrown <neilb@suse.de>
* Rename raid6 files now they're in a 'raid6' directory.David Woodhouse2010-08-1111-117/+111
| | | | | | Linus asks 'why "raid6" twice?'. No reason. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* Merge branch 'async' of macbook:git/btrfs-unstableDavid Woodhouse2010-08-097-77/+56
| | | | | | Conflicts: drivers/md/Makefile lib/raid6/unroll.pl
* md: Factor out RAID6 algorithms into lib/David Woodhouse2009-10-2913-0/+1610
We'll want to use these in btrfs too. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>