Dmitry Osipenko <[email protected]> writes: > On 4/2/25 20:45, Sergio Lopez wrote: >> There's an incresing number of machines supporting multiple page sizes >> and on these machines the host and a guest can be running, each one, >> with a different page size. >> >> For what pertains to virtio-gpu, this is not a problem if the page size >> of the guest happens to be bigger or equal than the host, but will >> potentially lead to failures in memory allocations and/or mappings >> otherwise. >> >> To improve this situation, we introduce here the HOST_PAGE_SIZE feature. >> This feature indicates that the host has an extended virtio_gpu_config >> structure that include it's own page size a new field. >> >> On the second commit, we also add a new param that can be read with >> VIRTGPU_GETPARAM by userspace applications running in the guest to >> obtain the host's page size and find out the right alignment to be used >> in shared memory allocations. >> >> There has been a discussion in virtio-comments about whether the >> information about alignment restrictions must be shared in a generic or >> in a device-specific way, favoring the latter: >> >> https://lore.kernel.org/virtio-comment/cy8pr12mb7195b5e575099cd9ca1f2f39dc...@cy8pr12mb7195.namprd12.prod.outlook.com/T/#t >> >> v2: >> - Rebase on top of current upstream. >> - Make a reference in the cover to the discussion about how device >> page alignment restrictions should be shared with the driver. >> >> Signed-off-by: Sergio Lopez <[email protected]> >> --- >> Sergio Lopez (2): >> drm/virtio: introduce the HOST_PAGE_SIZE feature >> drm/virtio: add VIRTGPU_PARAM_HOST_PAGE_SIZE to params >> >> drivers/gpu/drm/virtio/virtgpu_drv.c | 1 + >> drivers/gpu/drm/virtio/virtgpu_drv.h | 2 ++ >> drivers/gpu/drm/virtio/virtgpu_ioctl.c | 5 +++++ >> drivers/gpu/drm/virtio/virtgpu_kms.c | 13 ++++++++++--- >> include/uapi/drm/virtgpu_drm.h | 1 + >> include/uapi/linux/virtio_gpu.h | 5 +++++ >> 6 files changed, 24 insertions(+), 3 deletions(-) >> --- >> base-commit: acc4d5ff0b61eb1715c498b6536c38c1feb7f3c1 >> change-id: 20250402-virtio-gpu-host-page-size-282c99dfe44c >> >> Best regards, > > Hi Sergio, > > Curious if this feature still wanted. The protocol was updated many > months ago with the VIRTIO_GPU_F_BLOB_ALIGNMENT addition.
Yes, we still need it to avoid having to carry downstream patches in Mesa with a hack to hardcoded the alignment. I'll prepare a new patch series (referencing this one) next week. Thanks, Sergio.
