MCPcopy Create free account
hub / github.com/F-Stack/f-stack / bucket_free

Function bucket_free

freebsd/vm/uma_core.c:509–525  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

507}
508
509static void
510bucket_free(uma_zone_t zone, uma_bucket_t bucket, void *udata)
511{
512 struct uma_bucket_zone *ubz;
513
514 if (bucket->ub_cnt != 0)
515 bucket_drain(zone, bucket);
516
517 KASSERT(bucket->ub_cnt == 0,
518 ("bucket_free: Freeing a non free bucket."));
519 KASSERT(bucket->ub_seq == SMR_SEQ_INVALID,
520 ("bucket_free: Freeing an SMR bucket."));
521 if ((zone->uz_flags & UMA_ZFLAG_BUCKET) == 0)
522 udata = (void *)(uintptr_t)zone->uz_flags;
523 ubz = bucket_zone_lookup(bucket->ub_entries);
524 uma_zfree_arg(ubz->ubz_zone, bucket, udata);
525}
526
527static void
528bucket_zone_drain(void)

Callers 7

zone_put_bucketFunction · 0.70
cache_drainFunction · 0.70
bucket_cache_reclaimFunction · 0.70
cache_allocFunction · 0.70
zone_alloc_bucketFunction · 0.70
zone_free_crossFunction · 0.70
cache_freeFunction · 0.70

Calls 3

bucket_drainFunction · 0.85
bucket_zone_lookupFunction · 0.85
uma_zfree_argFunction · 0.85

Tested by

no test coverage detected