[PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size

David Hildenbrand posted 1 patch 2 years, 6 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211011173305.13778-1-david@redhat.com
Maintainers: David Hildenbrand <david@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>
hw/virtio/virtio-mem.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size
Posted by David Hildenbrand 2 years, 6 months ago
If we warn about the block size being smaller than the default, we skip
some alignment checks.

This can currently only fail on x86-64, when specifying a block size of
1 MiB, however, we detect the THP size of 2 MiB.

Fixes: 228957fea3a9 ("virtio-mem: Probe THP size to determine default block size")
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
 hw/virtio/virtio-mem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index df91e454b2..7ce9901791 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -701,7 +701,8 @@ static void virtio_mem_device_realize(DeviceState *dev, Error **errp)
         warn_report("'%s' property is smaller than the default block size (%"
                     PRIx64 " MiB)", VIRTIO_MEM_BLOCK_SIZE_PROP,
                     virtio_mem_default_block_size(rb) / MiB);
-    } else if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
+    }
+    if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
         error_setg(errp, "'%s' property has to be multiples of '%s' (0x%" PRIx64
                    ")", VIRTIO_MEM_REQUESTED_SIZE_PROP,
                    VIRTIO_MEM_BLOCK_SIZE_PROP, vmem->block_size);
-- 
2.31.1


Re: [PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size
Posted by Michael S. Tsirkin 2 years, 6 months ago
On Mon, Oct 11, 2021 at 07:33:05PM +0200, David Hildenbrand wrote:
> If we warn about the block size being smaller than the default, we skip
> some alignment checks.
> 
> This can currently only fail on x86-64, when specifying a block size of
> 1 MiB, however, we detect the THP size of 2 MiB.
> 
> Fixes: 228957fea3a9 ("virtio-mem: Probe THP size to determine default block size")
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/virtio/virtio-mem.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
> index df91e454b2..7ce9901791 100644
> --- a/hw/virtio/virtio-mem.c
> +++ b/hw/virtio/virtio-mem.c
> @@ -701,7 +701,8 @@ static void virtio_mem_device_realize(DeviceState *dev, Error **errp)
>          warn_report("'%s' property is smaller than the default block size (%"
>                      PRIx64 " MiB)", VIRTIO_MEM_BLOCK_SIZE_PROP,
>                      virtio_mem_default_block_size(rb) / MiB);
> -    } else if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
> +    }
> +    if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
>          error_setg(errp, "'%s' property has to be multiples of '%s' (0x%" PRIx64
>                     ")", VIRTIO_MEM_REQUESTED_SIZE_PROP,
>                     VIRTIO_MEM_BLOCK_SIZE_PROP, vmem->block_size);
> -- 
> 2.31.1


Re: [PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size
Posted by David Hildenbrand 2 years, 5 months ago
On 12.10.21 09:27, Michael S. Tsirkin wrote:
> On Mon, Oct 11, 2021 at 07:33:05PM +0200, David Hildenbrand wrote:
>> If we warn about the block size being smaller than the default, we skip
>> some alignment checks.
>>
>> This can currently only fail on x86-64, when specifying a block size of
>> 1 MiB, however, we detect the THP size of 2 MiB.
>>
>> Fixes: 228957fea3a9 ("virtio-mem: Probe THP size to determine default block size")
>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
>> Signed-off-by: David Hildenbrand <david@redhat.com>
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Thanks Michael, will you send this for the v6.2 release?


-- 
Thanks,

David / dhildenb


Re: [PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size
Posted by Michael S. Tsirkin 2 years, 5 months ago
On Mon, Nov 22, 2021 at 01:01:51PM +0100, David Hildenbrand wrote:
> On 12.10.21 09:27, Michael S. Tsirkin wrote:
> > On Mon, Oct 11, 2021 at 07:33:05PM +0200, David Hildenbrand wrote:
> >> If we warn about the block size being smaller than the default, we skip
> >> some alignment checks.
> >>
> >> This can currently only fail on x86-64, when specifying a block size of
> >> 1 MiB, however, we detect the THP size of 2 MiB.
> >>
> >> Fixes: 228957fea3a9 ("virtio-mem: Probe THP size to determine default block size")
> >> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> >> Signed-off-by: David Hildenbrand <david@redhat.com>
> > 
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Thanks Michael, will you send this for the v6.2 release?
> 
> 
> -- 
> Thanks,
> 
> David / dhildenb

sure


Re: [PATCH v1] virtio-mem: Don't skip alignment checks when warning about block size
Posted by David Hildenbrand 2 years, 4 months ago
On 11.10.21 19:33, David Hildenbrand wrote:
> If we warn about the block size being smaller than the default, we skip
> some alignment checks.
> 
> This can currently only fail on x86-64, when specifying a block size of
> 1 MiB, however, we detect the THP size of 2 MiB.
> 
> Fixes: 228957fea3a9 ("virtio-mem: Probe THP size to determine default block size")
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  hw/virtio/virtio-mem.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
> index df91e454b2..7ce9901791 100644
> --- a/hw/virtio/virtio-mem.c
> +++ b/hw/virtio/virtio-mem.c
> @@ -701,7 +701,8 @@ static void virtio_mem_device_realize(DeviceState *dev, Error **errp)
>          warn_report("'%s' property is smaller than the default block size (%"
>                      PRIx64 " MiB)", VIRTIO_MEM_BLOCK_SIZE_PROP,
>                      virtio_mem_default_block_size(rb) / MiB);
> -    } else if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
> +    }
> +    if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) {
>          error_setg(errp, "'%s' property has to be multiples of '%s' (0x%" PRIx64
>                     ")", VIRTIO_MEM_REQUESTED_SIZE_PROP,
>                     VIRTIO_MEM_BLOCK_SIZE_PROP, vmem->block_size);
> 

Ping, this already missed the v6.2 release ...

-- 
Thanks,

David / dhildenb