Messages in this thread | | | Date | Fri, 5 Apr 2019 01:11:36 +0000 | From | Maya Nakamura <> | Subject | [PATCH 0/6] hv: Remove dependencies on guest page size |
| |
The Linux guest page size and hypervisor page size concepts are different, even though they happen to be the same value on x86. Hyper-V code mixes up the two, so this patchset begins to address that by creating and using a set of Hyper-V specific page definitions.
A major benefit of those new definitions is that they support non-x86 architectures, such as ARM64, that use different page sizes. On ARM64, the guest page size may not be 4096, and Hyper-V always runs with a page size of 4096.
In this patchset, the first two patches lay the foundation for the others, creating definitions and preparing for memory allocations of Hyper-V pages. Subsequent patches apply the definitions where the guest VM and Hyper-V communicate, and where the code intends to use the Hyper-V page size. The last two patches set the ring buffer size to a fixed value, removing the dependencies on the guest page size.
This is the initial set of changes to the Hyper-V code, and future patches will make additional changes using the same foundation, for example, replace __vmalloc() and related functions when Hyper-V pages are intended.
Maya Nakamura (6): x86: hv: hyperv-tlfs.h: Create and use Hyper-V page definitions x86: hv: hv_init.c: Replace alloc_page() with kmem_cache_alloc() hv: vmbus: Replace page definition with Hyper-V specific one x86: hv: mmu.c: Replace page definitions with Hyper-V specific ones HID: hv: Remove dependencies on PAGE_SIZE for ring buffer Input: hv: Remove dependencies on PAGE_SIZE for ring buffer
arch/x86/hyperv/hv_init.c | 38 +++++++++++++++++++-------- arch/x86/hyperv/mmu.c | 15 ++++++----- arch/x86/include/asm/hyperv-tlfs.h | 12 ++++++++- drivers/hid/hid-hyperv.c | 4 +-- drivers/hv/hyperv_vmbus.h | 8 +++--- drivers/input/serio/hyperv-keyboard.c | 4 +-- 6 files changed, 54 insertions(+), 27 deletions(-)
-- 2.17.1
| |