/linux-master/lib/raid6/ |
H A D | neon.h | 3 void raid6_neon1_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs); 4 void raid6_neon1_xor_syndrome_real(int disks, int start, int stop, 6 void raid6_neon2_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs); 7 void raid6_neon2_xor_syndrome_real(int disks, int start, int stop, 9 void raid6_neon4_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs); 10 void raid6_neon4_xor_syndrome_real(int disks, int start, int stop, 12 void raid6_neon8_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs); 13 void raid6_neon8_xor_syndrome_real(int disks, int start, int stop,
|
H A D | recov.c | 19 static void raid6_2data_recov_intx1(int disks, size_t bytes, int faila, argument 27 p = (u8 *)ptrs[disks-2]; 28 q = (u8 *)ptrs[disks-1]; 35 ptrs[disks-2] = dp; 38 ptrs[disks-1] = dq; 40 raid6_call.gen_syndrome(disks, bytes, ptrs); 45 ptrs[disks-2] = p; 46 ptrs[disks-1] = q; 63 static void raid6_datap_recov_intx1(int disks, size_t bytes, int faila, argument 69 p = (u8 *)ptrs[disks 107 raid6_dual_recov(int disks, size_t bytes, int faila, int failb, void **ptrs) argument [all...] |
H A D | recov_neon.c | 23 static void raid6_2data_recov_neon(int disks, size_t bytes, int faila, argument 30 p = (u8 *)ptrs[disks - 2]; 31 q = (u8 *)ptrs[disks - 1]; 40 ptrs[disks - 2] = dp; 43 ptrs[disks - 1] = dq; 45 raid6_call.gen_syndrome(disks, bytes, ptrs); 50 ptrs[disks - 2] = p; 51 ptrs[disks - 1] = q; 63 static void raid6_datap_recov_neon(int disks, size_t bytes, int faila, argument 69 p = (u8 *)ptrs[disks [all...] |
H A D | recov_s390xc.c | 23 static void raid6_2data_recov_s390xc(int disks, size_t bytes, int faila, argument 31 p = (u8 *)ptrs[disks-2]; 32 q = (u8 *)ptrs[disks-1]; 39 ptrs[disks-2] = dp; 42 ptrs[disks-1] = dq; 44 raid6_call.gen_syndrome(disks, bytes, ptrs); 49 ptrs[disks-2] = p; 50 ptrs[disks-1] = q; 72 static void raid6_datap_recov_s390xc(int disks, size_t bytes, int faila, argument 79 p = (u8 *)ptrs[disks [all...] |
H A D | recov_avx2.c | 16 static void raid6_2data_recov_avx2(int disks, size_t bytes, int faila, argument 24 p = (u8 *)ptrs[disks-2]; 25 q = (u8 *)ptrs[disks-1]; 32 ptrs[disks-2] = dp; 35 ptrs[disks-1] = dq; 37 raid6_call.gen_syndrome(disks, bytes, ptrs); 42 ptrs[disks-2] = p; 43 ptrs[disks-1] = q; 186 static void raid6_datap_recov_avx2(int disks, size_t bytes, int faila, argument 193 p = (u8 *)ptrs[disks [all...] |
H A D | recov_loongarch_simd.c | 29 static void raid6_2data_recov_lsx(int disks, size_t bytes, int faila, argument 36 p = (u8 *)ptrs[disks - 2]; 37 q = (u8 *)ptrs[disks - 1]; 46 ptrs[disks - 2] = dp; 49 ptrs[disks - 1] = dq; 51 raid6_call.gen_syndrome(disks, bytes, ptrs); 56 ptrs[disks - 2] = p; 57 ptrs[disks - 1] = q; 186 static void raid6_datap_recov_lsx(int disks, size_t bytes, int faila, argument 192 p = (u8 *)ptrs[disks 303 raid6_2data_recov_lasx(int disks, size_t bytes, int faila, int failb, void **ptrs) argument 425 raid6_datap_recov_lasx(int disks, size_t bytes, int faila, void **ptrs) argument [all...] |
H A D | neon.c | 30 static void raid6_neon ## _n ## _gen_syndrome(int disks, \ 36 raid6_neon ## _n ## _gen_syndrome_real(disks, \ 40 static void raid6_neon ## _n ## _xor_syndrome(int disks, \ 47 raid6_neon ## _n ## _xor_syndrome_real(disks, \
|
H A D | recov_avx512.c | 24 static void raid6_2data_recov_avx512(int disks, size_t bytes, int faila, argument 32 p = (u8 *)ptrs[disks-2]; 33 q = (u8 *)ptrs[disks-1]; 43 ptrs[disks-2] = dp; 46 ptrs[disks-1] = dq; 48 raid6_call.gen_syndrome(disks, bytes, ptrs); 53 ptrs[disks-2] = p; 54 ptrs[disks-1] = q; 227 static void raid6_datap_recov_avx512(int disks, size_t bytes, int faila, argument 234 p = (u8 *)ptrs[disks [all...] |
H A D | recov_ssse3.c | 16 static void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila, argument 26 p = (u8 *)ptrs[disks-2]; 27 q = (u8 *)ptrs[disks-1]; 34 ptrs[disks-2] = dp; 37 ptrs[disks-1] = dq; 39 raid6_call.gen_syndrome(disks, bytes, ptrs); 44 ptrs[disks-2] = p; 45 ptrs[disks-1] = q; 191 static void raid6_datap_recov_ssse3(int disks, size_t bytes, int faila, argument 200 p = (u8 *)ptrs[disks [all...] |
H A D | mmx.c | 35 static void raid6_mmx1_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 41 z0 = disks - 3; /* Highest data disk */ 83 static void raid6_mmx2_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 89 z0 = disks - 3; /* Highest data disk */
|
H A D | sse2.c | 36 static void raid6_sse21_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 42 z0 = disks - 3; /* Highest data disk */ 87 static void raid6_sse21_xor_syndrome(int disks, int start, int stop, argument 95 p = dptr[disks-2]; /* XOR parity */ 96 q = dptr[disks-1]; /* RS syndrome */ 146 static void raid6_sse22_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 152 z0 = disks - 3; /* Highest data disk */ 198 static void raid6_sse22_xor_syndrome(int disks, int start, int stop, argument 206 p = dptr[disks-2]; /* XOR parity */ 207 q = dptr[disks 278 raid6_sse24_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 364 raid6_sse24_xor_syndrome(int disks, int start, int stop, size_t bytes, void **ptrs) argument [all...] |
H A D | avx2.c | 34 static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 40 z0 = disks - 3; /* Highest data disk */ 82 static void raid6_avx21_xor_syndrome(int disks, int start, int stop, argument 90 p = dptr[disks-2]; /* XOR parity */ 91 q = dptr[disks-1]; /* RS syndrome */ 141 static void raid6_avx22_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 147 z0 = disks - 3; /* Highest data disk */ 192 static void raid6_avx22_xor_syndrome(int disks, int start, int stop, argument 200 p = dptr[disks-2]; /* XOR parity */ 201 q = dptr[disks 273 raid6_avx24_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 353 raid6_avx24_xor_syndrome(int disks, int start, int stop, size_t bytes, void **ptrs) argument [all...] |
H A D | avx512.c | 44 static void raid6_avx5121_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 50 z0 = disks - 3; /* Highest data disk */ 101 static void raid6_avx5121_xor_syndrome(int disks, int start, int stop, argument 109 p = dptr[disks-2]; /* XOR parity */ 110 q = dptr[disks-1]; /* RS syndrome */ 171 static void raid6_avx5122_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 177 z0 = disks - 3; /* Highest data disk */ 233 static void raid6_avx5122_xor_syndrome(int disks, int start, int stop, argument 241 p = dptr[disks-2]; /* XOR parity */ 242 q = dptr[disks 330 raid6_avx5124_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 423 raid6_avx5124_xor_syndrome(int disks, int start, int stop, size_t bytes, void **ptrs) argument [all...] |
H A D | algos.c | 156 void *(*const dptrs)[RAID6_TEST_DISKS], const int disks) 159 int start = (disks>>1)-1, stop = disks-3; /* work on the second half of the disks */ 181 (*algo)->gen_syndrome(disks, PAGE_SIZE, *dptrs); 191 (perf * HZ * (disks-2)) >> 211 (bestgenperf * HZ * (disks - 2)) >> 223 best->xor_syndrome(disks, start, stop, 230 (perf * HZ * (disks - 2)) >> 244 const int disks local 155 raid6_choose_gen( void *(*const dptrs)[RAID6_TEST_DISKS], const int disks) argument [all...] |
H A D | sse1.c | 40 static void raid6_sse11_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 46 z0 = disks - 3; /* Highest data disk */ 99 static void raid6_sse12_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 105 z0 = disks - 3; /* Highest data disk */
|
H A D | loongarch_simd.c | 33 static void raid6_lsx_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 39 z0 = disks - 3; /* Highest data disk */ 114 static void raid6_lsx_xor_syndrome(int disks, int start, int stop, argument 122 p = dptr[disks-2]; /* XOR parity */ 123 q = dptr[disks-1]; /* RS syndrome */ 264 static void raid6_lasx_gen_syndrome(int disks, size_t bytes, void **ptrs) argument 270 z0 = disks - 3; /* Highest data disk */ 323 static void raid6_lasx_xor_syndrome(int disks, int start, int stop, argument 331 p = dptr[disks-2]; /* XOR parity */ 332 q = dptr[disks [all...] |
/linux-master/crypto/async_tx/ |
H A D | async_pq.c | 22 * blocks[disks-2] and the 'Q' destination address at blocks[disks-1] 36 const unsigned char *scfs, int disks, 46 int src_cnt = disks - 2; 76 dma_dest[0] = unmap->addr[disks - 2]; 77 dma_dest[1] = unmap->addr[disks - 1]; 107 do_sync_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, argument 112 int start = -1, stop = disks - 3; 119 for (i = 0; i < disks; i++) { 121 BUG_ON(i > disks 35 do_async_gen_syndrome(struct dma_chan *chan, const unsigned char *scfs, int disks, struct dmaengine_unmap_data *unmap, enum dma_ctrl_flags dma_flags, struct async_submit_ctl *submit) argument 177 async_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, size_t len, struct async_submit_ctl *submit) argument 272 pq_val_chan(struct async_submit_ctl *submit, struct page **blocks, int disks, size_t len) argument 298 async_syndrome_val(struct page **blocks, unsigned int *offsets, int disks, size_t len, enum sum_check_flags *pqres, struct page *spare, unsigned int s_off, struct async_submit_ctl *submit) argument [all...] |
H A D | raid6test.c | 35 static void makedata(int disks) argument 39 for (i = 0; i < disks; i++) { 46 static char disk_type(int d, int disks) argument 48 if (d == disks - 2) 50 else if (d == disks - 1) 57 static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb, argument 68 if (failb == disks-1) { 69 if (faila == disks-2) { 73 disks, bytes, &submit); 80 BUG_ON(disks > NDISK 127 test_disks(int i, int j, int disks) argument 152 test(int disks, int *tests) argument [all...] |
H A D | async_raid6_recov.c | 153 __2data_recov_4(int disks, size_t bytes, int faila, int failb, argument 168 p = blocks[disks-2]; 169 p_off = offs[disks-2]; 170 q = blocks[disks-1]; 171 q_off = offs[disks-1]; 203 __2data_recov_5(int disks, size_t bytes, int faila, int failb, argument 221 for (i = 0; i < disks-2; i++) { 231 p = blocks[disks-2]; 232 p_off = offs[disks-2]; 233 q = blocks[disks 294 __2data_recov_n(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 393 async_raid6_2data_recov(int disks, size_t bytes, int faila, int failb, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument 471 async_raid6_datap_recov(int disks, size_t bytes, int faila, struct page **blocks, unsigned int *offs, struct async_submit_ctl *submit) argument [all...] |
/linux-master/include/linux/raid/ |
H A D | pq.h | 154 extern void (*raid6_2data_recov)(int disks, size_t bytes, int faila, int failb, 156 extern void (*raid6_datap_recov)(int disks, size_t bytes, int faila, 158 void raid6_dual_recov(int disks, size_t bytes, int faila, int failb,
|
/linux-master/drivers/md/ |
H A D | raid5.c | 127 if (sh->qd_idx == sh->disks - 1) 138 /* When walking through the disks in a raid5, starting at raid6_d0, 139 * We need to map each disk to a 'slot', where the data disks are slot 233 for (i = sh->disks; i--; ) 502 init_stripe_shared_pages(struct stripe_head *sh, struct r5conf *conf, int disks) argument 511 nr_pages = (disks + cnt - 1) / cnt; 592 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; 597 for (i = sh->disks; i--; ) { 699 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); 702 rdev = READ_ONCE(conf->disks[ 1143 int i, disks = sh->disks; local 1562 int disks = sh->disks; local 1616 int disks = sh->disks; local 1659 int disks = sh->disks; local 1723 int i, count, disks = sh->disks; local 1859 int disks = sh->disks; local 1923 int disks = sh->disks; local 1994 int disks = sh->disks; local 2042 int disks = sh->disks; local 2213 int disks = sh->disks; local 2277 int overlap_clear = 0, i, disks = sh->disks; local 2357 alloc_stripe(struct kmem_cache *sc, gfp_t gfp, int disks, struct r5conf *conf) argument 2722 int disks = sh->disks, i; local 2850 int disks = sh->disks, i; local 3340 int i, pd_idx = sh->pd_idx, qd_idx = sh->qd_idx, disks = sh->disks; local 3608 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; local 3618 handle_failed_stripe(struct r5conf *conf, struct stripe_head *sh, struct stripe_head_state *s, int disks) argument 3792 need_this_block(struct stripe_head *sh, struct stripe_head_state *s, int disk_idx, int disks) argument 3899 fetch_block(struct stripe_head *sh, struct stripe_head_state *s, int disk_idx, int disks) argument 3985 handle_stripe_fill(struct stripe_head *sh, struct stripe_head_state *s, int disks) argument 4026 handle_stripe_clean_event(struct r5conf *conf, struct stripe_head *sh, int disks) argument 4141 handle_stripe_dirtying(struct r5conf *conf, struct stripe_head *sh, struct stripe_head_state *s, int disks) argument 4305 handle_parity_checks5(struct r5conf *conf, struct stripe_head *sh, struct stripe_head_state *s, int disks) argument 4398 handle_parity_checks6(struct r5conf *conf, struct stripe_head *sh, struct stripe_head_state *s, int disks) argument 4651 int disks = sh->disks; local 4943 int disks = sh->disks; local [all...] |
H A D | raid5-log.h | 16 struct stripe_head_state *s, int disks); 23 struct stripe_head *sh, int disks);
|
H A D | raid5-cache.c | 69 * Stripes in caching phase do not write the raid disks. Instead, all 78 * - write data and parity to raid disks 206 * first and then start move data to raid disks, there is no requirement to 308 struct stripe_head *sh, int disks) 312 for (i = sh->disks; i--; ) { 470 for (i = sh->disks; i--; ) 486 for (i = sh->disks; i--; ) 926 for (i = 0; i < sh->disks; i++) { 991 * data from log to raid disks), so we shouldn't wait for reclaim here 1015 for (i = 0; i < sh->disks; 307 r5c_handle_cached_data_endio(struct r5conf *conf, struct stripe_head *sh, int disks) argument 2627 r5c_try_caching_write(struct r5conf *conf, struct stripe_head *sh, struct stripe_head_state *s, int disks) argument [all...] |
H A D | raid5-ppl.c | 36 * disks. Every stripe_head in the entry must write to the same data disks. 81 * If write-back cache is enabled for any of the disks in the array, its data 161 int disks = sh->disks; local 176 * rmw: xor old data and parity from updated disks 182 /* rcw: xor data from all not updated disks */ 183 for (i = disks; i--;) { 193 NULL, sh, (void *) (srcs + sh->disks + 2)); 299 for (i = 0; i < sh->disks; [all...] |
H A D | md.h | 313 struct list_head disks; member in struct:mddev 406 /* resync even though the same disks are shared among md-devices */ 737 * iterates through the 'same array disks' ringlist 740 list_for_each_entry(rdev, &((mddev)->disks), same_set) 743 list_for_each_entry_safe(rdev, tmp, &((mddev)->disks), same_set) 746 list_for_each_entry_rcu(rdev, &((mddev)->disks), same_set)
|