• Home
  • Raw
  • Download

Lines Matching refs:resize

47 #define resize_hpt_debug(resize, ...)				\  argument
49 printk(KERN_DEBUG "RESIZE HPT %p: ", resize); \
53 #define resize_hpt_debug(resize, ...) \ argument
1235 static int resize_hpt_allocate(struct kvm_resize_hpt *resize) in resize_hpt_allocate() argument
1239 rc = kvmppc_allocate_hpt(&resize->hpt, resize->order); in resize_hpt_allocate()
1243 resize_hpt_debug(resize, "resize_hpt_allocate(): HPT @ 0x%lx\n", in resize_hpt_allocate()
1244 resize->hpt.virt); in resize_hpt_allocate()
1249 static unsigned long resize_hpt_rehash_hpte(struct kvm_resize_hpt *resize, in resize_hpt_rehash_hpte() argument
1252 struct kvm *kvm = resize->kvm; in resize_hpt_rehash_hpte()
1254 struct kvm_hpt_info *new = &resize->hpt; in resize_hpt_rehash_hpte()
1384 static int resize_hpt_rehash(struct kvm_resize_hpt *resize) in resize_hpt_rehash() argument
1386 struct kvm *kvm = resize->kvm; in resize_hpt_rehash()
1397 rc = resize_hpt_rehash_hpte(resize, i); in resize_hpt_rehash()
1405 static void resize_hpt_pivot(struct kvm_resize_hpt *resize) in resize_hpt_pivot() argument
1407 struct kvm *kvm = resize->kvm; in resize_hpt_pivot()
1413 resize_hpt_debug(resize, "resize_hpt_pivot()\n"); in resize_hpt_pivot()
1419 kvmppc_set_hpt(kvm, &resize->hpt); in resize_hpt_pivot()
1420 resize->hpt = hpt_tmp; in resize_hpt_pivot()
1426 resize_hpt_debug(resize, "resize_hpt_pivot() done\n"); in resize_hpt_pivot()
1429 static void resize_hpt_release(struct kvm *kvm, struct kvm_resize_hpt *resize) in resize_hpt_release() argument
1434 if (!resize) in resize_hpt_release()
1437 if (resize->error != -EBUSY) { in resize_hpt_release()
1438 if (resize->hpt.virt) in resize_hpt_release()
1439 kvmppc_free_hpt(&resize->hpt); in resize_hpt_release()
1440 kfree(resize); in resize_hpt_release()
1443 if (kvm->arch.resize_hpt == resize) in resize_hpt_release()
1449 struct kvm_resize_hpt *resize = container_of(work, in resize_hpt_prepare_work() local
1452 struct kvm *kvm = resize->kvm; in resize_hpt_prepare_work()
1455 if (WARN_ON(resize->error != -EBUSY)) in resize_hpt_prepare_work()
1461 if (kvm->arch.resize_hpt == resize) { in resize_hpt_prepare_work()
1467 resize_hpt_debug(resize, "resize_hpt_prepare_work(): order = %d\n", in resize_hpt_prepare_work()
1468 resize->order); in resize_hpt_prepare_work()
1470 err = resize_hpt_allocate(resize); in resize_hpt_prepare_work()
1484 resize->error = err; in resize_hpt_prepare_work()
1486 if (kvm->arch.resize_hpt != resize) in resize_hpt_prepare_work()
1487 resize_hpt_release(kvm, resize); in resize_hpt_prepare_work()
1497 struct kvm_resize_hpt *resize; in kvm_vm_ioctl_resize_hpt_prepare() local
1508 resize = kvm->arch.resize_hpt; in kvm_vm_ioctl_resize_hpt_prepare()
1510 if (resize) { in kvm_vm_ioctl_resize_hpt_prepare()
1511 if (resize->order == shift) { in kvm_vm_ioctl_resize_hpt_prepare()
1513 ret = resize->error; in kvm_vm_ioctl_resize_hpt_prepare()
1517 resize_hpt_release(kvm, resize); in kvm_vm_ioctl_resize_hpt_prepare()
1523 resize_hpt_release(kvm, resize); in kvm_vm_ioctl_resize_hpt_prepare()
1532 resize = kzalloc(sizeof(*resize), GFP_KERNEL); in kvm_vm_ioctl_resize_hpt_prepare()
1533 if (!resize) { in kvm_vm_ioctl_resize_hpt_prepare()
1538 resize->error = -EBUSY; in kvm_vm_ioctl_resize_hpt_prepare()
1539 resize->order = shift; in kvm_vm_ioctl_resize_hpt_prepare()
1540 resize->kvm = kvm; in kvm_vm_ioctl_resize_hpt_prepare()
1541 INIT_WORK(&resize->work, resize_hpt_prepare_work); in kvm_vm_ioctl_resize_hpt_prepare()
1542 kvm->arch.resize_hpt = resize; in kvm_vm_ioctl_resize_hpt_prepare()
1544 schedule_work(&resize->work); in kvm_vm_ioctl_resize_hpt_prepare()
1563 struct kvm_resize_hpt *resize; in kvm_vm_ioctl_resize_hpt_commit() local
1574 resize = kvm->arch.resize_hpt; in kvm_vm_ioctl_resize_hpt_commit()
1590 if (!resize || (resize->order != shift)) in kvm_vm_ioctl_resize_hpt_commit()
1593 ret = resize->error; in kvm_vm_ioctl_resize_hpt_commit()
1597 ret = resize_hpt_rehash(resize); in kvm_vm_ioctl_resize_hpt_commit()
1601 resize_hpt_pivot(resize); in kvm_vm_ioctl_resize_hpt_commit()
1608 resize_hpt_release(kvm, resize); in kvm_vm_ioctl_resize_hpt_commit()