Lines Matching refs:bn

146 	struct maple_big_node *bn;  member
1832 struct maple_big_node *bn, unsigned char *mid_split, unsigned long min) in mab_calc_split() argument
1834 unsigned char b_end = bn->b_end; in mab_calc_split()
1836 unsigned char slot_min, slot_count = mt_slots[bn->type]; in mab_calc_split()
1846 split = b_end - mt_min_slots[bn->type]; in mab_calc_split()
1848 if (!ma_is_leaf(bn->type)) in mab_calc_split()
1852 if (!bn->slot[split]) in mab_calc_split()
1865 if (unlikely(mab_middle_node(bn, split, slot_count))) { in mab_calc_split()
1869 slot_min = mt_min_slots[bn->type]; in mab_calc_split()
1877 while (((bn->pivot[split] - min) < slot_count - 1) && in mab_calc_split()
1883 split = mab_no_null_split(bn, split, slot_count); in mab_calc_split()
1887 *mid_split = mab_no_null_split(bn, *mid_split, slot_count); in mab_calc_split()
2391 unsigned char b_end = mast->bn->b_end; in mast_rebalance_next()
2394 mast->bn, b_end); in mast_rebalance_next()
2406 unsigned char b_end = mast->bn->b_end; in mast_rebalance_prev()
2408 mab_shift_right(mast->bn, end); in mast_rebalance_prev()
2409 mas_mab_cp(mast->orig_l, 0, end - 1, mast->bn, 0); in mast_rebalance_prev()
2412 mast->bn->b_end = end + b_end; in mast_rebalance_prev()
2569 mast->bn->type = wr_mas.type; in mast_ascend_free()
2812 if (split == mast->bn->b_end) { in mast_cp_to_nodes()
2817 mab_mas_cp(mast->bn, 0, split, mast->l, new_lmax); in mast_cp_to_nodes()
2820 mab_mas_cp(mast->bn, 1 + split, mid_split, mast->m, true); in mast_cp_to_nodes()
2821 mast->m->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2827 mab_mas_cp(mast->bn, 1 + split, mast->bn->b_end, mast->r, false); in mast_cp_to_nodes()
2828 mast->r->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2844 mas_mab_cp(mast->orig_l, 0, l_slot - 1, mast->bn, 0); in mast_combine_cp_left()
2854 if (mast->bn->pivot[mast->bn->b_end - 1] >= mast->orig_r->max) in mast_combine_cp_right()
2858 mt_slot_count(mast->orig_r->node), mast->bn, in mast_combine_cp_right()
2859 mast->bn->b_end); in mast_combine_cp_right()
2870 if (mast->bn->b_end > mt_min_slot_count(mast->orig_l->node)) in mast_sufficient()
2883 if (mast->bn->b_end >= mt_slot_count(mast->orig_l->node)) in mast_overflow()
2993 unlikely(mast->bn->b_end <= mt_min_slots[mast->bn->type])) in mas_spanning_rebalance()
3010 mast->bn->b_end--; in mas_spanning_rebalance()
3011 mast->bn->type = mte_node_type(mast->orig_l->node); in mas_spanning_rebalance()
3012 split = mas_mab_to_node(mas, mast->bn, &left, &right, &middle, in mas_spanning_rebalance()
3022 memset(mast->bn, 0, sizeof(struct maple_big_node)); in mas_spanning_rebalance()
3023 mast->bn->type = mte_node_type(left); in mas_spanning_rebalance()
3032 l_mas.offset = mast->bn->b_end; in mas_spanning_rebalance()
3033 mab_set_b_end(mast->bn, &l_mas, left); in mas_spanning_rebalance()
3034 mab_set_b_end(mast->bn, &m_mas, middle); in mas_spanning_rebalance()
3035 mab_set_b_end(mast->bn, &r_mas, right); in mas_spanning_rebalance()
3062 mab_mas_cp(mast->bn, 0, mt_slots[mast->bn->type] - 1, &l_mas, true); in mas_spanning_rebalance()
3090 return mast->bn->b_end; in mas_spanning_rebalance()
3130 mast.bn = b_node; in mas_rebalance()
3131 mast.bn->type = mte_node_type(mas->node); in mas_rebalance()
3285 mast->bn->type = maple_arange_64; in mas_split_final_node()
3287 mast->bn->type = maple_range_64; in mas_split_final_node()
3294 ancestor = mas_new_ma_node(mas, mast->bn); in mas_split_final_node()
3300 mab_mas_cp(mast->bn, 0, mt_slots[mast->bn->type] - 1, mast->l, true); in mas_split_final_node()
3301 mas->offset = mast->bn->b_end - 1; in mas_split_final_node()
3319 memset(mast->bn->gap, 0, sizeof(unsigned long) * ARRAY_SIZE(mast->bn->gap)); in mast_fill_bnode()
3320 memset(mast->bn->slot, 0, sizeof(unsigned long) * ARRAY_SIZE(mast->bn->slot)); in mast_fill_bnode()
3321 memset(mast->bn->pivot, 0, sizeof(unsigned long) * ARRAY_SIZE(mast->bn->pivot)); in mast_fill_bnode()
3322 mast->bn->b_end = 0; in mast_fill_bnode()
3333 mas_mab_cp(mas, 0, mast->l->offset - 1, mast->bn, 0); in mast_fill_bnode()
3335 split = mast->bn->b_end; in mast_fill_bnode()
3336 mab_set_b_end(mast->bn, mast->l, mast->l->node); in mast_fill_bnode()
3337 mast->r->offset = mast->bn->b_end; in mast_fill_bnode()
3338 mab_set_b_end(mast->bn, mast->r, mast->r->node); in mast_fill_bnode()
3339 if (mast->bn->pivot[mast->bn->b_end - 1] == mas->max) in mast_fill_bnode()
3344 mast->bn, mast->bn->b_end); in mast_fill_bnode()
3346 mast->bn->b_end--; in mast_fill_bnode()
3347 mast->bn->type = mte_node_type(mas->node); in mast_fill_bnode()
3362 mab_mas_cp(mast->bn, 0, split, mast->l, true); in mast_split_data()
3364 mab_mas_cp(mast->bn, split + 1, mast->bn->b_end, mast->r, false); in mast_split_data()
3366 mast->l->max = mast->bn->pivot[split]; in mast_split_data()
3393 unsigned char slot_total = mast->bn->b_end; in mas_push_data()
3409 if (ma_is_leaf(mast->bn->type)) in mas_push_data()
3419 mast->bn->b_end++; in mas_push_data()
3421 mab_shift_right(mast->bn, end + 1); in mas_push_data()
3422 mas_mab_cp(&tmp_mas, 0, end, mast->bn, 0); in mas_push_data()
3423 mast->bn->b_end = slot_total + 1; in mas_push_data()
3425 mas_mab_cp(&tmp_mas, 0, end, mast->bn, mast->bn->b_end); in mas_push_data()
3429 split = mt_slots[mast->bn->type] - 2; in mas_push_data()
3443 split = mab_no_null_split(mast->bn, split, mt_slots[mast->bn->type]); in mas_push_data()
3502 mast.bn = b_node; in mas_split()
3559 struct maple_big_node *bn, unsigned char end) in mas_reuse_node() argument
3565 if (end > bn->b_end) { in mas_reuse_node()
3566 int clear = mt_slots[wr_mas->type] - bn->b_end; in mas_reuse_node()
3568 memset(wr_mas->slots + bn->b_end, 0, sizeof(void *) * clear--); in mas_reuse_node()
3569 memset(wr_mas->pivots + bn->b_end, 0, sizeof(void *) * clear); in mas_reuse_node()
3571 mab_mas_cp(bn, 0, bn->b_end, wr_mas->mas, false); in mas_reuse_node()
4036 mast.bn = &b_node; in mas_wr_spanning_store()