Lines Matching refs:bbm

219 		} bbm;
224 * sbm.sb_states, bbm.bb_count, and bbm.bb_states
339 return addr / vm->bbm.bb_size;
348 return bb_id * vm->bbm.bb_size;
370 const unsigned long idx = bb_id - vm->bbm.first_bb_id;
373 old_state = vm->bbm.bb_states[idx];
374 vm->bbm.bb_states[idx] = state;
376 BUG_ON(vm->bbm.bb_count[old_state] == 0);
377 vm->bbm.bb_count[old_state]--;
378 vm->bbm.bb_count[state]++;
387 return vm->bbm.bb_states[bb_id - vm->bbm.first_bb_id];
395 unsigned long old_bytes = vm->bbm.next_bb_id - vm->bbm.first_bb_id;
401 if (vm->bbm.bb_states && old_pages == new_pages)
409 if (vm->bbm.bb_states)
410 memcpy(new_array, vm->bbm.bb_states, old_pages * PAGE_SIZE);
411 vfree(vm->bbm.bb_states);
412 vm->bbm.bb_states = new_array;
419 for (_bb_id = vm->bbm.first_bb_id; \
420 _bb_id < vm->bbm.next_bb_id && _vm->bbm.bb_count[_state]; \
425 for (_bb_id = vm->bbm.next_bb_id - 1; \
426 _bb_id >= vm->bbm.first_bb_id && _vm->bbm.bb_count[_state]; \
679 const uint64_t size = vm->bbm.bb_size;
811 const uint64_t size = vm->bbm.bb_size;
1538 const uint64_t size = vm->bbm.bb_size;
1551 const uint64_t size = vm->bbm.bb_size;
1839 if (vm->bbm.next_bb_id > vm->bbm.last_usable_bb_id)
1847 vm->bbm.bb_count[VIRTIO_MEM_BBM_BB_UNUSED]++;
1848 *bb_id = vm->bbm.next_bb_id;
1849 vm->bbm.next_bb_id++;
1855 uint64_t nb_bb = diff / vm->bbm.bb_size;
1864 if (!virtio_mem_could_add_memory(vm, vm->bbm.bb_size))
1877 if (!virtio_mem_could_add_memory(vm, vm->bbm.bb_size))
2137 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size);
2203 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size);
2222 const unsigned long nr_pages = PFN_DOWN(vm->bbm.bb_size);
2240 uint64_t nb_bb = diff / vm->bbm.bb_size;
2367 vm->bbm.last_usable_bb_id = virtio_mem_phys_to_bb_id(vm,
2369 if (!IS_ALIGNED(end_addr + 1, vm->bbm.bb_size))
2370 vm->bbm.last_usable_bb_id--;
2553 vm->bbm.bb_size = max_t(uint64_t, vm->device_block_size,
2560 } else if (bbm_block_size < vm->bbm.bb_size) {
2564 vm->bbm.bb_size = bbm_block_size;
2570 vm->bbm.bb_size - 1;
2571 vm->bbm.first_bb_id = virtio_mem_phys_to_bb_id(vm, addr);
2572 vm->bbm.next_bb_id = vm->bbm.first_bb_id;
2575 vm->offline_threshold = max_t(uint64_t, 2 * vm->bbm.bb_size,
2586 (unsigned long long)vm->bbm.bb_size);
2597 unit_pages = PHYS_PFN(vm->bbm.bb_size);
2921 vfree(vm->bbm.bb_states);