> From: Michael Kelley <[email protected]> > Sent: Monday, April 27, 2026 12:06 PM > > IMO the Fixes tag is unnecessary because the existing > > VMBUS_RING_BUFSIZE > > is 256KB, which is already aligned to 4KB, 16KB and 64KB. > > > > VMBUS_RING_SIZE(256 * 1024) is still 256KB. > > Not always. If PAGE_SIZE is 64KiB, VMBUS_RING_SIZE(256 * 1024) is > 320KiB. If PAGE_SIZE is 16KiB or 4KiB, then VMBUS_RING_SIZE(256 * 1024) > is indeed 256 KiB. See the explanation in the comment for > VMBUS_RING_SIZE. > > Michael
Thanks for correcting me! I didn't realize that sizeof(struct hv_ring_buffer) is based on PAGE_SIZE, not on HV_HYP_PAGE_SIZE. However, it looks like the Fixes tag is still not needed: without the patch, we always pass two arguments of 256KB to vmbus_open(). with the patch, we still pass 256KB to vmbus_open() in the case of PAGE_SIZE=4KB or 16KB, and we pass 320KB in the case of PAGE_SIZE=64KB. Both 320K and 256KB are multiples of PAGE_SIZE, so vmbus_open() -> vmbus_alloc_ring() doesn't return -EINVAL. In the case of PAGE_SIZE=64KB, it's OK to pass 256KB to vmbus_open() here since the hyperv-drm driver doesn't really have to use a slightly bigger VMBus ringbuffer size. Thanks, Dexuan

