Lines Matching refs:split
1825 static inline bool mab_middle_node(struct maple_big_node *b_node, int split, in mab_middle_node() argument
1833 if (!b_node->slot[split] && (size >= 2 * slot_count - 1)) in mab_middle_node()
1848 unsigned char split, unsigned char slot_count) in mab_no_null_split() argument
1850 if (!b_node->slot[split]) { in mab_no_null_split()
1855 if ((split < slot_count - 1) && in mab_no_null_split()
1856 (b_node->b_end - split) > (mt_min_slots[b_node->type])) in mab_no_null_split()
1857 split++; in mab_no_null_split()
1859 split--; in mab_no_null_split()
1861 return split; in mab_no_null_split()
1876 int split = b_end / 2; /* Assume equal split. */ in mab_calc_split() local
1887 split = b_end - mt_min_slots[bn->type]; in mab_calc_split()
1890 return split; in mab_calc_split()
1893 if (!bn->slot[split]) in mab_calc_split()
1894 split--; in mab_calc_split()
1895 return split; in mab_calc_split()
1906 if (unlikely(mab_middle_node(bn, split, slot_count))) { in mab_calc_split()
1907 split = b_end / 3; in mab_calc_split()
1908 *mid_split = split * 2; in mab_calc_split()
1918 while ((split < slot_count - 1) && in mab_calc_split()
1919 ((bn->pivot[split] - min) < slot_count - 1) && in mab_calc_split()
1920 (b_end - split > slot_min)) in mab_calc_split()
1921 split++; in mab_calc_split()
1925 split = mab_no_null_split(bn, split, slot_count); in mab_calc_split()
1930 return split; in mab_calc_split()
2405 unsigned char split = 0; in mas_mab_to_node() local
2414 split = b_node->b_end; in mas_mab_to_node()
2416 split = mab_calc_split(mas, b_node, mid_split, min); in mas_mab_to_node()
2423 return split; in mas_mab_to_node()
2460 unsigned char *slot, unsigned char split) in mas_set_split_parent() argument
2465 if ((*slot) <= split) in mas_set_split_parent()
2468 mas_set_parent(mas, mas->node, right, (*slot) - split - 1); in mas_set_split_parent()
2486 unsigned char *split, in mte_mid_split_check() argument
2497 *split = mid_split; in mte_mid_split_check()
2512 unsigned char split, in mast_set_split_parents() argument
2527 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2528 mas_set_split_parent(mast->l, l, r, &slot, split); in mast_set_split_parents()
2530 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2531 mas_set_split_parent(mast->m, l, r, &slot, split); in mast_set_split_parents()
2533 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2534 mas_set_split_parent(mast->r, l, r, &slot, split); in mast_set_split_parents()
2697 struct maple_enode *right, unsigned char split, unsigned char mid_split) in mast_cp_to_nodes() argument
2706 if (split == mast->bn->b_end) { in mast_cp_to_nodes()
2711 mab_mas_cp(mast->bn, 0, split, mast->l, new_lmax); in mast_cp_to_nodes()
2714 mab_mas_cp(mast->bn, 1 + split, mid_split, mast->m, true); in mast_cp_to_nodes()
2715 mast->m->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2716 split = mid_split; in mast_cp_to_nodes()
2721 mab_mas_cp(mast->bn, 1 + split, mast->bn->b_end, mast->r, false); in mast_cp_to_nodes()
2722 mast->r->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2866 unsigned char split, mid_split; in mas_spanning_rebalance() local
2905 split = mas_mab_to_node(mas, mast->bn, &left, &right, &middle, in mas_spanning_rebalance()
2907 mast_set_split_parents(mast, left, middle, right, split, in mas_spanning_rebalance()
2909 mast_cp_to_nodes(mast, left, middle, right, split, mid_split); in mas_spanning_rebalance()
3054 unsigned char offset, tmp, split = mt_slots[mt] / 2; in mas_destroy_rebalance() local
3083 if (!l_slots[split]) in mas_destroy_rebalance()
3084 split++; in mas_destroy_rebalance()
3085 tmp = mas_data_end(&l_mas) - split; in mas_destroy_rebalance()
3087 memcpy(slots, l_slots + split + 1, sizeof(void *) * tmp); in mas_destroy_rebalance()
3088 memcpy(pivs, l_pivs + split + 1, sizeof(unsigned long) * tmp); in mas_destroy_rebalance()
3093 l_mas.max = l_pivs[split]; in mas_destroy_rebalance()
3112 l_pivs[split]); in mas_destroy_rebalance()
3115 tmp = split + 1; in mas_destroy_rebalance()
3118 ma_set_meta(left, mt, 0, split); in mas_destroy_rebalance()
3133 memcpy(slots, l_slots, sizeof(void *) * split); in mas_destroy_rebalance()
3134 memcpy(pivs, l_pivs, sizeof(unsigned long) * split); in mas_destroy_rebalance()
3135 ma_set_meta(new_left, mt, 0, split); in mas_destroy_rebalance()
3208 unsigned char split; in mast_fill_bnode() local
3225 split = mast->bn->b_end; in mast_fill_bnode()
3233 mas_mab_cp(mas, split + skip, mt_slot_count(mas->node) - 1, in mast_fill_bnode()
3248 struct ma_state *mas, unsigned char split) in mast_split_data() argument
3252 mab_mas_cp(mast->bn, 0, split, mast->l, true); in mast_split_data()
3254 mab_mas_cp(mast->bn, split + 1, mast->bn->b_end, mast->r, false); in mast_split_data()
3256 mast->l->max = mast->bn->pivot[split]; in mast_split_data()
3263 &p_slot, split); in mast_split_data()
3265 &p_slot, split); in mast_split_data()
3284 unsigned char end, space, split; in mas_push_data() local
3319 split = mt_slots[mast->bn->type] - 2; in mas_push_data()
3329 split = slot_total - split; in mas_push_data()
3331 split = mab_no_null_split(mast->bn, split, mt_slots[mast->bn->type]); in mas_push_data()
3336 mast_split_data(mast, mas, split); in mas_push_data()
3352 unsigned char mid_split, split = 0; in mas_split() local
3414 split = mab_calc_split(mas, b_node, &mid_split, prev_l_mas.min); in mas_split()
3415 mast_split_data(&mast, mas, split); in mas_split()