[PATCH v4 00/11] Hyper-V: Support PAGE_SIZE larger than 4K

Boqun Feng boqun.feng at gmail.com
Tue Sep 15 23:48:06 EDT 2020


This patchset add the necessary changes to support guests whose page
size is larger than 4K. And the main architecture which we develop this
for is ARM64 (also it's the architecture that I use to test this
feature).

Previous version:
v1: https://lore.kernel.org/lkml/20200721014135.84140-1-boqun.feng@gmail.com/
v2: https://lore.kernel.org/lkml/20200902030107.33380-1-boqun.feng@gmail.com
v3: https://lore.kernel.org/lkml/20200910143455.109293-1-boqun.feng@gmail.com/

Changes since v3:

*	Fix a bug that ringbuffer sizes are not page-aligned when
	PAGE_SIZE = 16k. Drop the Acked-by and Reviewed-by tags for
	those patches accordingly.

*	Code improvement as per suggestion from Michael Kelley.

I've done some tests with PAGE_SIZE=64k and PAGE_SIZE=16k configurations
on ARM64 guests (with Michael's patchset[1] for ARM64 Hyper-V guest
support), everything worked fine ;-)

Looking forwards to comments and suggestions!

Regards,
Boqun

[1]: https://lore.kernel.org/lkml/1598287583-71762-1-git-send-email-mikelley@microsoft.com/

Boqun Feng (11):
  Drivers: hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl
  Drivers: hv: vmbus: Move __vmbus_open()
  Drivers: hv: vmbus: Introduce types of GPADL
  Drivers: hv: Use HV_HYP_PAGE in hv_synic_enable_regs()
  Drivers: hv: vmbus: Move virt_to_hvpfn() to hyperv header
  hv: hyperv.h: Introduce some hvpfn helper functions
  hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication
  Input: hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes
  HID: hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes
  Driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes
  scsi: storvsc: Support PAGE_SIZE larger than 4K

 drivers/hid/hid-hyperv.c              |   4 +-
 drivers/hv/channel.c                  | 461 ++++++++++++++++----------
 drivers/hv/hv.c                       |   4 +-
 drivers/hv/hv_util.c                  |  11 +-
 drivers/input/serio/hyperv-keyboard.c |   4 +-
 drivers/net/hyperv/netvsc.c           |   2 +-
 drivers/net/hyperv/netvsc_drv.c       |  46 +--
 drivers/net/hyperv/rndis_filter.c     |  13 +-
 drivers/scsi/storvsc_drv.c            |  56 +++-
 include/linux/hyperv.h                |  68 +++-
 10 files changed, 442 insertions(+), 227 deletions(-)

-- 
2.28.0




More information about the linux-arm-kernel mailing list