Lines Matching refs:split
1805 static inline bool mab_middle_node(struct maple_big_node *b_node, int split, in mab_middle_node() argument
1813 if (!b_node->slot[split] && (size >= 2 * slot_count - 1)) in mab_middle_node()
1828 unsigned char split, unsigned char slot_count) in mab_no_null_split() argument
1830 if (!b_node->slot[split]) { in mab_no_null_split()
1835 if ((split < slot_count - 1) && in mab_no_null_split()
1836 (b_node->b_end - split) > (mt_min_slots[b_node->type])) in mab_no_null_split()
1837 split++; in mab_no_null_split()
1839 split--; in mab_no_null_split()
1841 return split; in mab_no_null_split()
1856 int split = b_end / 2; /* Assume equal split. */ in mab_calc_split() local
1867 split = b_end - mt_min_slots[bn->type]; in mab_calc_split()
1870 return split; in mab_calc_split()
1873 if (!bn->slot[split]) in mab_calc_split()
1874 split--; in mab_calc_split()
1875 return split; in mab_calc_split()
1886 if (unlikely(mab_middle_node(bn, split, slot_count))) { in mab_calc_split()
1887 split = b_end / 3; in mab_calc_split()
1888 *mid_split = split * 2; in mab_calc_split()
1898 while ((split < slot_count - 1) && in mab_calc_split()
1899 ((bn->pivot[split] - min) < slot_count - 1) && in mab_calc_split()
1900 (b_end - split > slot_min)) in mab_calc_split()
1901 split++; in mab_calc_split()
1905 split = mab_no_null_split(bn, split, slot_count); in mab_calc_split()
1910 return split; in mab_calc_split()
2373 unsigned char split = 0; in mas_mab_to_node() local
2382 split = b_node->b_end; in mas_mab_to_node()
2384 split = mab_calc_split(mas, b_node, mid_split, min); in mas_mab_to_node()
2391 return split; in mas_mab_to_node()
2428 unsigned char *slot, unsigned char split) in mas_set_split_parent() argument
2433 if ((*slot) <= split) in mas_set_split_parent()
2436 mas_set_parent(mas, mas->node, right, (*slot) - split - 1); in mas_set_split_parent()
2454 unsigned char *split, in mte_mid_split_check() argument
2465 *split = mid_split; in mte_mid_split_check()
2480 unsigned char split, in mast_set_split_parents() argument
2495 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2496 mas_set_split_parent(mast->l, l, r, &slot, split); in mast_set_split_parents()
2498 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2499 mas_set_split_parent(mast->m, l, r, &slot, split); in mast_set_split_parents()
2501 mte_mid_split_check(&l, &r, right, slot, &split, mid_split); in mast_set_split_parents()
2502 mas_set_split_parent(mast->r, l, r, &slot, split); in mast_set_split_parents()
2667 struct maple_enode *right, unsigned char split, unsigned char mid_split) in mast_cp_to_nodes() argument
2676 if (split == mast->bn->b_end) { in mast_cp_to_nodes()
2681 mab_mas_cp(mast->bn, 0, split, mast->l, new_lmax); in mast_cp_to_nodes()
2684 mab_mas_cp(mast->bn, 1 + split, mid_split, mast->m, true); in mast_cp_to_nodes()
2685 mast->m->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2686 split = mid_split; in mast_cp_to_nodes()
2691 mab_mas_cp(mast->bn, 1 + split, mast->bn->b_end, mast->r, false); in mast_cp_to_nodes()
2692 mast->r->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2834 unsigned char split, mid_split; in mas_spanning_rebalance() local
2873 split = mas_mab_to_node(mas, mast->bn, &left, &right, &middle, in mas_spanning_rebalance()
2875 mast_set_split_parents(mast, left, middle, right, split, in mas_spanning_rebalance()
2877 mast_cp_to_nodes(mast, left, middle, right, split, mid_split); in mas_spanning_rebalance()
3022 unsigned char offset, tmp, split = mt_slots[mt] / 2; in mas_destroy_rebalance() local
3051 if (!l_slots[split]) in mas_destroy_rebalance()
3052 split++; in mas_destroy_rebalance()
3053 tmp = mas_data_end(&l_mas) - split; in mas_destroy_rebalance()
3055 memcpy(slots, l_slots + split + 1, sizeof(void *) * tmp); in mas_destroy_rebalance()
3056 memcpy(pivs, l_pivs + split + 1, sizeof(unsigned long) * tmp); in mas_destroy_rebalance()
3061 l_mas.max = l_pivs[split]; in mas_destroy_rebalance()
3080 l_pivs[split]); in mas_destroy_rebalance()
3083 tmp = split + 1; in mas_destroy_rebalance()
3086 ma_set_meta(left, mt, 0, split); in mas_destroy_rebalance()
3101 memcpy(slots, l_slots, sizeof(void *) * split); in mas_destroy_rebalance()
3102 memcpy(pivs, l_pivs, sizeof(unsigned long) * split); in mas_destroy_rebalance()
3103 ma_set_meta(new_left, mt, 0, split); in mas_destroy_rebalance()
3175 unsigned char split; in mast_fill_bnode() local
3192 split = mast->bn->b_end; in mast_fill_bnode()
3200 mas_mab_cp(mas, split + skip, mt_slot_count(mas->node) - 1, in mast_fill_bnode()
3215 struct ma_state *mas, unsigned char split) in mast_split_data() argument
3219 mab_mas_cp(mast->bn, 0, split, mast->l, true); in mast_split_data()
3221 mab_mas_cp(mast->bn, split + 1, mast->bn->b_end, mast->r, false); in mast_split_data()
3223 mast->l->max = mast->bn->pivot[split]; in mast_split_data()
3230 &p_slot, split); in mast_split_data()
3232 &p_slot, split); in mast_split_data()
3251 unsigned char end, space, split; in mas_push_data() local
3286 split = mt_slots[mast->bn->type] - 2; in mas_push_data()
3296 split = slot_total - split; in mas_push_data()
3298 split = mab_no_null_split(mast->bn, split, mt_slots[mast->bn->type]); in mas_push_data()
3303 mast_split_data(mast, mas, split); in mas_push_data()
3319 unsigned char mid_split, split = 0; in mas_split() local
3380 split = mab_calc_split(mas, b_node, &mid_split, prev_l_mas.min); in mas_split()
3381 mast_split_data(&mast, mas, split); in mas_split()