Lines Matching refs:zone

329 	struct physical_zone *zone = &zones->zones[zone_number];  in initialize_zone()  local
331 result = vdo_int_map_create(VDO_LOCK_MAP_CAPACITY, &zone->pbn_operations); in initialize_zone()
335 result = make_pbn_lock_pool(LOCK_POOL_CAPACITY, &zone->lock_pool); in initialize_zone()
337 vdo_int_map_free(zone->pbn_operations); in initialize_zone()
341 zone->zone_number = zone_number; in initialize_zone()
342 zone->thread_id = vdo->thread_config.physical_threads[zone_number]; in initialize_zone()
343 zone->allocator = &vdo->depot->allocators[zone_number]; in initialize_zone()
344 zone->next = &zones->zones[(zone_number + 1) % vdo->thread_config.physical_zone_count]; in initialize_zone()
345 result = vdo_make_default_thread(vdo, zone->thread_id); in initialize_zone()
347 free_pbn_lock_pool(vdo_forget(zone->lock_pool)); in initialize_zone()
348 vdo_int_map_free(zone->pbn_operations); in initialize_zone()
399 struct physical_zone *zone = &zones->zones[index]; in vdo_free_physical_zones() local
401 free_pbn_lock_pool(vdo_forget(zone->lock_pool)); in vdo_free_physical_zones()
402 vdo_int_map_free(vdo_forget(zone->pbn_operations)); in vdo_free_physical_zones()
415 struct pbn_lock *vdo_get_physical_zone_pbn_lock(struct physical_zone *zone, in vdo_get_physical_zone_pbn_lock() argument
418 return ((zone == NULL) ? NULL : vdo_int_map_get(zone->pbn_operations, pbn)); in vdo_get_physical_zone_pbn_lock()
436 int vdo_attempt_physical_zone_pbn_lock(struct physical_zone *zone, in vdo_attempt_physical_zone_pbn_lock() argument
448 result = borrow_pbn_lock_from_pool(zone->lock_pool, type, &new_lock); in vdo_attempt_physical_zone_pbn_lock()
454 result = vdo_int_map_put(zone->pbn_operations, pbn, new_lock, false, in vdo_attempt_physical_zone_pbn_lock()
457 return_pbn_lock_to_pool(zone->lock_pool, new_lock); in vdo_attempt_physical_zone_pbn_lock()
463 return_pbn_lock_to_pool(zone->lock_pool, vdo_forget(new_lock)); in vdo_attempt_physical_zone_pbn_lock()
491 result = vdo_allocate_block(allocation->zone->allocator, &allocation->pbn); in allocate_and_lock_block()
495 result = vdo_attempt_physical_zone_pbn_lock(allocation->zone, allocation->pbn, in allocate_and_lock_block()
526 data_vio->allocation.first_allocation_zone = data_vio->allocation.zone->zone_number; in retry_allocation()
542 struct physical_zone *zone = allocation->zone; in continue_allocating() local
546 bool tried_all = (allocation->first_allocation_zone == zone->next->zone_number); in continue_allocating()
556 allocation->first_allocation_zone = zone->zone_number; in continue_allocating()
561 result = vdo_enqueue_clean_slab_waiter(zone->allocator, in continue_allocating()
574 allocation->zone = zone->next; in continue_allocating()
575 completion->callback_thread_id = allocation->zone->thread_id; in continue_allocating()
611 void vdo_release_physical_zone_pbn_lock(struct physical_zone *zone, in vdo_release_physical_zone_pbn_lock() argument
629 holder = vdo_int_map_remove(zone->pbn_operations, locked_pbn); in vdo_release_physical_zone_pbn_lock()
633 release_pbn_lock_provisional_reference(lock, locked_pbn, zone->allocator); in vdo_release_physical_zone_pbn_lock()
634 return_pbn_lock_to_pool(zone->lock_pool, lock); in vdo_release_physical_zone_pbn_lock()
641 void vdo_dump_physical_zone(const struct physical_zone *zone) in vdo_dump_physical_zone() argument
643 vdo_dump_block_allocator(zone->allocator); in vdo_dump_physical_zone()