11 Sep, 2013

1 commit

  • Pull md update from Neil Brown:
    "Headline item is multithreading for RAID5 so that more IO/sec can be
    supported on fast (SSD) devices. Also TILE-Gx SIMD suppor for RAID6
    calculations and an assortment of bug fixes"

    * tag 'md/3.12' of git://neil.brown.name/md:
    raid5: only wakeup necessary threads
    md/raid5: flush out all pending requests before proceeding with reshape.
    md/raid5: use seqcount to protect access to shape in make_request.
    raid5: sysfs entry to control worker thread number
    raid5: offload stripe handle to workqueue
    raid5: fix stripe release order
    raid5: make release_stripe lockless
    md: avoid deadlock when dirty buffers during md_stop.
    md: Don't test all of mddev->flags at once.
    md: Fix apparent cut-and-paste error in super_90_validate
    raid6/test: replace echo -e with printf
    RAID: add tilegx SIMD implementation of raid6
    md: fix safe_mode buglet.
    md: don't call md_allow_write in get_bitmap_file.

    Linus Torvalds
     

27 Aug, 2013

2 commits

  • -e is a non-standard echo option, echo output is
    implementation-dependent when it is used. Replace echo -e with printf as
    suggested by POSIX echo manual.

    Cc: NeilBrown
    Cc: Jim Kukunas
    Cc: "H. Peter Anvin"
    Cc: Yuanhan Liu
    Acked-by: H. Peter Anvin
    Signed-off-by: Max Filippov
    Signed-off-by: NeilBrown

    Max Filippov
     
  • This change adds TILE-Gx SIMD instructions to the software raid
    (md), modeling the Altivec implementation. This is only for Syndrome
    generation; there is more that could be done to improve recovery,
    as in the recent Intel SSE3 recovery implementation.

    The code unrolls 8 times; this turns out to be the best on tilegx
    hardware among the set 1, 2, 4, 8 or 16. The code reads one
    cache-line of data from each disk, stores P and Q then goes to the
    next cache-line.

    The test code in sys/linux/lib/raid6/test reports 2008 MB/s data
    read rate for syndrome generation using 18 disks (16 data and 2
    parity). It was 1512 MB/s before this SIMD optimizations. This is
    running on 1 core with all the data in cache.

    This is based on the paper The Mathematics of RAID-6.
    (http://kernel.org/pub/linux/kernel/people/hpa/raid6.pdf).

    Signed-off-by: Ken Steele
    Signed-off-by: Chris Metcalf
    Signed-off-by: NeilBrown

    Ken Steele
     

09 Jul, 2013

1 commit

  • Rebased/reworked a patch contributed by Rob Herring that uses
    NEON intrinsics to perform the RAID-6 syndrome calculations.
    It uses the existing unroll.awk code to generate several
    unrolled versions of which the best performing one is selected
    at boot time.

    Signed-off-by: Ard Biesheuvel
    Acked-by: Nicolas Pitre
    Cc: hpa@linux.intel.com

    Ard Biesheuvel
     

13 Dec, 2012

3 commits


28 May, 2012

1 commit

  • 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
    Signed-off-by: Jim Kukunas
    Signed-off-by: NeilBrown

    Jim Kukunas
     

22 May, 2012

4 commits


29 Mar, 2012

2 commits


01 Nov, 2011

2 commits


20 Oct, 2011

1 commit


30 Aug, 2010

1 commit


12 Aug, 2010

2 commits


11 Aug, 2010

1 commit


09 Aug, 2010

1 commit


29 Oct, 2009

1 commit