Messages in this thread | | | Subject | Re: [PATCH v3 1/4] x86/kvm: add boot parameter for adding vcpu-id bits | From | Juergen Gross <> | Date | Thu, 18 Nov 2021 08:44:10 +0100 |
| |
On 18.11.21 00:44, Sean Christopherson wrote: > On Tue, Nov 16, 2021, Juergen Gross wrote: >> diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c >> index 816a82515dcd..64ba9b1c8b3d 100644 >> --- a/arch/x86/kvm/ioapic.c >> +++ b/arch/x86/kvm/ioapic.c >> @@ -685,11 +685,21 @@ static const struct kvm_io_device_ops ioapic_mmio_ops = { >> int kvm_ioapic_init(struct kvm *kvm) >> { >> struct kvm_ioapic *ioapic; >> + size_t sz; >> int ret; >> >> - ioapic = kzalloc(sizeof(struct kvm_ioapic), GFP_KERNEL_ACCOUNT); >> + sz = sizeof(struct kvm_ioapic) + >> + sizeof(*ioapic->rtc_status.dest_map.map) * >> + BITS_TO_LONGS(KVM_MAX_VCPU_IDS) + >> + sizeof(*ioapic->rtc_status.dest_map.vectors) * >> + (KVM_MAX_VCPU_IDS); >> + ioapic = kzalloc(sz, GFP_KERNEL_ACCOUNT); >> if (!ioapic) >> return -ENOMEM; >> + ioapic->rtc_status.dest_map.map = (void *)(ioapic + 1); > > Oof. Just do separate allocations. I highly doubt the performance of the > emulated RTC hinges on the spatial locality of the bitmap and array. The array > is going to end up in a second page for most configuration anyways.
Okay, fine with me.
Juergen [unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature] | |