X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=rculfhash-mm-order.c;h=20f3edd8ce37cf9a5abe88e18264ec1102759b53;hp=69e2b622a6eeb4020b06980818e8951120a92af7;hb=2af1c19e6a553878fcb2a5106f050d5ed7ac0f54;hpb=0b6aa0018b42d0b101c617ef6c6d34d0f4dd2258 diff --git a/rculfhash-mm-order.c b/rculfhash-mm-order.c index 69e2b62..20f3edd 100644 --- a/rculfhash-mm-order.c +++ b/rculfhash-mm-order.c @@ -63,11 +63,11 @@ struct cds_lfht_node *bucket_at(struct cds_lfht *ht, unsigned long index) return &ht->tbl_order[0][index]; } /* - * equivalent to get_count_order_ulong(index + 1), but optimizes - * away the non-existing 0 special-case for - * get_count_order_ulong. + * equivalent to cds_lfht_get_count_order_ulong(index + 1), but + * optimizes away the non-existing 0 special-case for + * cds_lfht_get_count_order_ulong. */ - order = fls_ulong(index); + order = cds_lfht_fls_ulong(index); dbg_printf("bucket index %lu order %lu aridx %lu\n", index, order, index & ((1UL << (order - 1)) - 1)); return &ht->tbl_order[order][index & ((1UL << (order - 1)) - 1)]; @@ -77,20 +77,9 @@ static struct cds_lfht *alloc_cds_lfht(unsigned long min_nr_alloc_buckets, unsigned long max_nr_buckets) { - struct cds_lfht *ht; - - ht = calloc(1, sizeof(struct cds_lfht)); - assert(ht); - - ht->mm = &cds_lfht_mm_order; - - ht->min_nr_alloc_buckets = min_nr_alloc_buckets; - ht->min_alloc_buckets_order = get_count_order_ulong(min_nr_alloc_buckets); - ht->max_nr_buckets = max_nr_buckets; - - ht->bucket_at = bucket_at; - - return ht; + return __default_alloc_cds_lfht( + &cds_lfht_mm_order, sizeof(struct cds_lfht), + min_nr_alloc_buckets, max_nr_buckets); } const struct cds_lfht_mm_type cds_lfht_mm_order = {