RE: [PATCH 00/15] hyperv: more stuff to uapi + cleanup

From: KY Srinivasan
Date: Wed Dec 21 2016 - 13:00:24 EST




> -----Original Message-----
> From: Roman Kagan [mailto:rkagan@xxxxxxxxxxxxx]
> Sent: Tuesday, December 20, 2016 7:56 AM
> To: Paolo Bonzini <pbonzini@xxxxxxxxxx>; Radim Krčmář
> <rkrcmar@xxxxxxxxxx>; KY Srinivasan <kys@xxxxxxxxxxxxx>; Vitaly
> Kuznetsov <vkuznets@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Ingo Molnar
> <mingo@xxxxxxxxxx>; H. Peter Anvin <hpa@xxxxxxxxx>; x86@xxxxxxxxxx;
> Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; kvm@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; Denis V . Lunev
> <den@xxxxxxxxxx>; Roman Kagan <rkagan@xxxxxxxxxxxxx>
> Subject: [PATCH 00/15] hyperv: more stuff to uapi + cleanup
>
> Expose more Hyper-V-related definitions in the uapi header for
> consumption by userspace.
>
> While doing so, get rid of a number of duplications between the KVM and
> the guest driver code. Also a few other cleanups are made which are not
> strictly necessary for the main purpose of the series but appear
> reasonable to do at the same time.
>
> The most controversial is the last patch which modifies the stuff
> already published in the uapi header, in the hope that no userspace
> applications have started relying on it; I'm ok dropping it if this is
> unacceptable.

Roman,

First, let me thank you. Broadly, this patch-set can be broken into
1. Moving existing definitions around - (to make it possible to share these
between Hyper-V guest drivers and KVM)
2. Cleanup of the existing code in the VMBUS driver (under drivers/hv).

To the extent possible, I want to take all non-KVM code through Greg's tree.
We can then modify the KVM code to use these common definitions. Currently, I too
am working on restructuring VMBUS driver code to fully isolate all x86 dependencies.
I can work with you on integration as I too am moving things around.

Regards,

K. Y

>
> Roman Kagan (15):
> hyperv: consolidate TSC ref page definitions
> hyperv: uapi-fy synic event flags definitions
> hyperv: use standard bitops
> hyperv: define VMBus message type
> hyperv: GFP_ATOMIC -> GFP_KERNEL
> hyperv: avoid unnecessary vmalloc
> hyperv: dedup cpuid definitions
> hyperv: dedup crash msr related definitions
> hyperv: unify Hyper-V msr definitions
> hyperv: uapi-fy PostMessage and SignalEvent hypercall structures
> hyperv: uapi-fy monitored notification structures
> hyperv: move VMBus connection ids to uapi
> hyperv: move function close to its only callsite
> hyperv_vmbus: drop unused definitions
> hyperv: redefine hv_message without bitfields
>
> arch/x86/include/asm/kvm_host.h | 2 +-
> arch/x86/include/uapi/asm/hyperv.h | 101 +++++++---
> drivers/hv/hyperv_vmbus.h | 399 +------------------------------------
> include/linux/hyperv.h | 24 +--
> arch/x86/kvm/hyperv.c | 14 +-
> drivers/hv/channel.c | 8 +-
> drivers/hv/channel_mgmt.c | 30 +--
> drivers/hv/connection.c | 65 ++----
> drivers/hv/hv.c | 300 +++++++++++++---------------
> drivers/hv/vmbus_drv.c | 67 +++----
> 10 files changed, 288 insertions(+), 722 deletions(-)
>
> --
> 2.9.3