Lines Matching refs:percpu
737 struct raid5_percpu *percpu)
739 return percpu->scribble + sizeof(struct page *) * (sh->disks + 2);
743 ops_run_compute5(struct stripe_head *sh, struct raid5_percpu *percpu)
746 struct page **xor_srcs = percpu->scribble;
766 ops_complete_compute, sh, to_addr_conv(sh, percpu));
808 ops_run_compute6_1(struct stripe_head *sh, struct raid5_percpu *percpu)
811 struct page **blocks = percpu->scribble;
844 to_addr_conv(sh, percpu));
857 to_addr_conv(sh, percpu));
865 ops_run_compute6_2(struct stripe_head *sh, struct raid5_percpu *percpu)
876 struct page **blocks = percpu->scribble;
918 to_addr_conv(sh, percpu));
942 to_addr_conv(sh, percpu));
949 to_addr_conv(sh, percpu));
956 to_addr_conv(sh, percpu));
981 ops_run_prexor(struct stripe_head *sh, struct raid5_percpu *percpu,
985 struct page **xor_srcs = percpu->scribble;
1003 ops_complete_prexor, sh, to_addr_conv(sh, percpu));
1076 ops_run_reconstruct5(struct stripe_head *sh, struct raid5_percpu *percpu,
1080 struct page **xor_srcs = percpu->scribble;
1121 to_addr_conv(sh, percpu));
1129 ops_run_reconstruct6(struct stripe_head *sh, struct raid5_percpu *percpu,
1133 struct page **blocks = percpu->scribble;
1143 sh, to_addr_conv(sh, percpu));
1159 static void ops_run_check_p(struct stripe_head *sh, struct raid5_percpu *percpu)
1165 struct page **xor_srcs = percpu->scribble;
1184 to_addr_conv(sh, percpu));
1193 static void ops_run_check_pq(struct stripe_head *sh, struct raid5_percpu *percpu, int checkp)
1195 struct page **srcs = percpu->scribble;
1208 sh, to_addr_conv(sh, percpu));
1210 &sh->ops.zero_sum_result, percpu->spare_page, &submit);
1219 struct raid5_percpu *percpu;
1223 percpu = per_cpu_ptr(conf->percpu, cpu);
1231 tx = ops_run_compute5(sh, percpu);
1234 tx = ops_run_compute6_1(sh, percpu);
1236 tx = ops_run_compute6_2(sh, percpu);
1244 tx = ops_run_prexor(sh, percpu, tx);
1253 ops_run_reconstruct5(sh, percpu, tx);
1255 ops_run_reconstruct6(sh, percpu, tx);
1260 ops_run_check_p(sh, percpu);
1262 ops_run_check_pq(sh, percpu, 0);
1264 ops_run_check_pq(sh, percpu, 1);
1494 struct raid5_percpu *percpu;
1497 percpu = per_cpu_ptr(conf->percpu, cpu);
1501 kfree(percpu->scribble);
1502 percpu->scribble = scribble;
4715 struct raid5_percpu *percpu;
4718 if (!conf->percpu)
4723 percpu = per_cpu_ptr(conf->percpu, cpu);
4724 safe_put_page(percpu->spare_page);
4725 kfree(percpu->scribble);
4732 free_percpu(conf->percpu);
4750 struct raid5_percpu *percpu = per_cpu_ptr(conf->percpu, cpu);
4755 if (conf->level == 6 && !percpu->spare_page)
4756 percpu->spare_page = alloc_page(GFP_KERNEL);
4757 if (!percpu->scribble)
4758 percpu->scribble = kmalloc(conf->scribble_len, GFP_KERNEL);
4760 if (!percpu->scribble ||
4761 (conf->level == 6 && !percpu->spare_page)) {
4762 safe_put_page(percpu->spare_page);
4763 kfree(percpu->scribble);
4771 safe_put_page(percpu->spare_page);
4772 kfree(percpu->scribble);
4773 percpu->spare_page = NULL;
4774 percpu->scribble = NULL;
4794 conf->percpu = allcpus;
4805 per_cpu_ptr(conf->percpu, cpu)->spare_page = spare_page;
4812 per_cpu_ptr(conf->percpu, cpu)->scribble = scribble;