Message ID | 20241014105912.3207374-17-ryan.roberts@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Boot-time page size selection for arm64 | expand |
Nit, "KVM:" for the scope. On Mon, Oct 14, 2024, Ryan Roberts wrote: > To prepare for supporting boot-time page size selection, refactor code > to remove assumptions about PAGE_SIZE being compile-time constant. Code > intended to be equivalent when compile-time page size is active. > > Modify BUILD_BUG_ON() to compare with page size limit. > > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> > --- > > ***NOTE*** > Any confused maintainers may want to read the cover note here for context: > https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ The patch should still stand on its own. Most people can probably suss out what PAGE_SIZE_MIN is, but at the same time, it's quite easy to provide a more verbose changelog that's tailored to the actual patch. E.g. To prepare for supporting boot-time page size selection, refactor KVM's check on the size of the kvm_run structure to assert that the size is less than the smallest possible page size, i.e. that kvm_run won't overflow its page regardless of what page size is chosen at boot time. With something like the above, Reviewed-by: Sean Christopherson <seanjc@google.com>
On 14/10/2024 22:37, Sean Christopherson wrote: > Nit, "KVM:" for the scope. Thanks, will fix. > > On Mon, Oct 14, 2024, Ryan Roberts wrote: >> To prepare for supporting boot-time page size selection, refactor code >> to remove assumptions about PAGE_SIZE being compile-time constant. Code >> intended to be equivalent when compile-time page size is active. >> >> Modify BUILD_BUG_ON() to compare with page size limit. >> >> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> >> --- >> >> ***NOTE*** >> Any confused maintainers may want to read the cover note here for context: >> https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ > > The patch should still stand on its own. Most people can probably suss out what > PAGE_SIZE_MIN is, but at the same time, it's quite easy to provide a more verbose > changelog that's tailored to the actual patch. E.g. > > To prepare for supporting boot-time page size selection, refactor KVM's > check on the size of the kvm_run structure to assert that the size is less > than the smallest possible page size, i.e. that kvm_run won't overflow its > page regardless of what page size is chosen at boot time. > > With something like the above, > > Reviewed-by: Sean Christopherson <seanjc@google.com> Thanks! I'll update this for the next version.
+ Paolo Bonzini This was a rather tricky series to get the recipients correct for and my script did not realize that "supporter" was a pseudonym for "maintainer" so you were missed off the original post. Appologies! More context in cover letter: https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ On 14/10/2024 11:58, Ryan Roberts wrote: > To prepare for supporting boot-time page size selection, refactor code > to remove assumptions about PAGE_SIZE being compile-time constant. Code > intended to be equivalent when compile-time page size is active. > > Modify BUILD_BUG_ON() to compare with page size limit. > > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> > --- > > ***NOTE*** > Any confused maintainers may want to read the cover note here for context: > https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ > > virt/kvm/kvm_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index cb2b78e92910f..6c862bc41a672 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -4244,7 +4244,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, unsigned long id) > goto vcpu_decrement; > } > > - BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE); > + BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE_MIN); > page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO); > if (!page) { > r = -ENOMEM;
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index cb2b78e92910f..6c862bc41a672 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -4244,7 +4244,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, unsigned long id) goto vcpu_decrement; } - BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE); + BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE_MIN); page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO); if (!page) { r = -ENOMEM;
To prepare for supporting boot-time page size selection, refactor code to remove assumptions about PAGE_SIZE being compile-time constant. Code intended to be equivalent when compile-time page size is active. Modify BUILD_BUG_ON() to compare with page size limit. Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> --- ***NOTE*** Any confused maintainers may want to read the cover note here for context: https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ virt/kvm/kvm_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)