Lines Matching refs:bbm

217 		} bbm;  member
337 return addr / vm->bbm.bb_size; in virtio_mem_phys_to_bb_id()
346 return bb_id * vm->bbm.bb_size; in virtio_mem_bb_id_to_phys()
368 const unsigned long idx = bb_id - vm->bbm.first_bb_id; in virtio_mem_bbm_set_bb_state()
371 old_state = vm->bbm.bb_states[idx]; in virtio_mem_bbm_set_bb_state()
372 vm->bbm.bb_states[idx] = state; in virtio_mem_bbm_set_bb_state()
374 BUG_ON(vm->bbm.bb_count[old_state] == 0); in virtio_mem_bbm_set_bb_state()
375 vm->bbm.bb_count[old_state]--; in virtio_mem_bbm_set_bb_state()
376 vm->bbm.bb_count[state]++; in virtio_mem_bbm_set_bb_state()
385 return vm->bbm.bb_states[bb_id - vm->bbm.first_bb_id]; in virtio_mem_bbm_get_bb_state()
393 unsigned long old_bytes = vm->bbm.next_bb_id - vm->bbm.first_bb_id; in virtio_mem_bbm_bb_states_prepare_next_bb()
399 if (vm->bbm.bb_states && old_pages == new_pages) in virtio_mem_bbm_bb_states_prepare_next_bb()
407 if (vm->bbm.bb_states) in virtio_mem_bbm_bb_states_prepare_next_bb()
408 memcpy(new_array, vm->bbm.bb_states, old_pages * PAGE_SIZE); in virtio_mem_bbm_bb_states_prepare_next_bb()
409 vfree(vm->bbm.bb_states); in virtio_mem_bbm_bb_states_prepare_next_bb()
410 vm->bbm.bb_states = new_array; in virtio_mem_bbm_bb_states_prepare_next_bb()
417 for (_bb_id = vm->bbm.first_bb_id; \
418 _bb_id < vm->bbm.next_bb_id && _vm->bbm.bb_count[_state]; \
423 for (_bb_id = vm->bbm.next_bb_id - 1; \
424 _bb_id >= vm->bbm.first_bb_id && _vm->bbm.bb_count[_state]; \
677 const uint64_t size = vm->bbm.bb_size; in virtio_mem_bbm_add_bb()
777 const uint64_t size = vm->bbm.bb_size; in virtio_mem_bbm_offline_and_remove_bb()
1495 const uint64_t size = vm->bbm.bb_size; in virtio_mem_bbm_unplug_bb()
1508 const uint64_t size = vm->bbm.bb_size; in virtio_mem_bbm_plug_bb()
1796 if (vm->bbm.next_bb_id > vm->bbm.last_usable_bb_id) in virtio_mem_bbm_prepare_next_bb()
1804 vm->bbm.bb_count[VIRTIO_MEM_BBM_BB_UNUSED]++; in virtio_mem_bbm_prepare_next_bb()
1805 *bb_id = vm->bbm.next_bb_id; in virtio_mem_bbm_prepare_next_bb()
1806 vm->bbm.next_bb_id++; in virtio_mem_bbm_prepare_next_bb()
1812 uint64_t nb_bb = diff / vm->bbm.bb_size; in virtio_mem_bbm_plug_request()
1821 if (!virtio_mem_could_add_memory(vm, vm->bbm.bb_size)) in virtio_mem_bbm_plug_request()
1834 if (!virtio_mem_could_add_memory(vm, vm->bbm.bb_size)) in virtio_mem_bbm_plug_request()
2104 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size); in virtio_mem_bbm_offline_remove_and_unplug_bb()
2176 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size); in virtio_mem_bbm_bb_is_offline()
2195 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size); in virtio_mem_bbm_bb_is_movable()
2213 uint64_t nb_bb = diff / vm->bbm.bb_size; in virtio_mem_bbm_unplug_request()
2318 vm->bbm.last_usable_bb_id = virtio_mem_phys_to_bb_id(vm, in virtio_mem_refresh_config()
2320 if (!IS_ALIGNED(end_addr + 1, vm->bbm.bb_size)) in virtio_mem_refresh_config()
2321 vm->bbm.last_usable_bb_id--; in virtio_mem_refresh_config()
2497 vm->bbm.bb_size = max_t(uint64_t, vm->device_block_size, in virtio_mem_init_hotplug()
2504 } else if (bbm_block_size < vm->bbm.bb_size) { in virtio_mem_init_hotplug()
2508 vm->bbm.bb_size = bbm_block_size; in virtio_mem_init_hotplug()
2514 vm->bbm.bb_size - 1; in virtio_mem_init_hotplug()
2515 vm->bbm.first_bb_id = virtio_mem_phys_to_bb_id(vm, addr); in virtio_mem_init_hotplug()
2516 vm->bbm.next_bb_id = vm->bbm.first_bb_id; in virtio_mem_init_hotplug()
2519 vm->offline_threshold = max_t(uint64_t, 2 * vm->bbm.bb_size, in virtio_mem_init_hotplug()
2530 (unsigned long long)vm->bbm.bb_size); in virtio_mem_init_hotplug()
2541 unit_pages = PHYS_PFN(vm->bbm.bb_size); in virtio_mem_init_hotplug()
2865 vfree(vm->bbm.bb_states); in virtio_mem_deinit_hotplug()