04 Jun, 2020

1 commit

  • Pull hyper-v updates from Wei Liu:

    - a series from Andrea to support channel reassignment

    - a series from Vitaly to clean up Vmbus message handling

    - a series from Michael to clean up and augment hyperv-tlfs.h

    - patches from Andy to clean up GUID usage in Hyper-V code

    - a few other misc patches

    * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (29 commits)
    Drivers: hv: vmbus: Resolve more races involving init_vp_index()
    Drivers: hv: vmbus: Resolve race between init_vp_index() and CPU hotplug
    vmbus: Replace zero-length array with flexible-array
    Driver: hv: vmbus: drop a no long applicable comment
    hyper-v: Switch to use UUID types directly
    hyper-v: Replace open-coded variant of %*phN specifier
    hyper-v: Supply GUID pointer to printf() like functions
    hyper-v: Use UUID API for exporting the GUID (part 2)
    asm-generic/hyperv: Add definitions for Get/SetVpRegister hypercalls
    x86/hyperv: Split hyperv-tlfs.h into arch dependent and independent files
    x86/hyperv: Remove HV_PROCESSOR_POWER_STATE #defines
    KVM: x86: hyperv: Remove duplicate definitions of Reference TSC Page
    drivers: hv: remove redundant assignment to pointer primary_channel
    scsi: storvsc: Re-init stor_chns when a channel interrupt is re-assigned
    Drivers: hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type
    Drivers: hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug
    Drivers: hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic
    PCI: hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality
    Drivers: hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal
    hv_utils: Always execute the fcopy and vss callbacks in a tasklet
    ...

    Linus Torvalds
     

20 May, 2020

1 commit

  • This is a follow up to the commit 1d3c9c075462
    ("hyper-v: Use UUID API for exporting the GUID")
    which starts the conversion.

    There is export_guid() function which exports guid_t to the u8 array.
    Use it instead of open coding variant.

    This allows to hide the uuid_t internals.

    Signed-off-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200423134505.78221-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Wei Liu

    Andy Shevchenko
     

23 Apr, 2020

1 commit

  • VMBus version 4.1 and later support the CHANNELMSG_MODIFYCHANNEL(22)
    message type which can be used to request Hyper-V to change the vCPU
    that a channel will interrupt.

    Introduce the CHANNELMSG_MODIFYCHANNEL message type, and define the
    vmbus_send_modifychannel() function to send CHANNELMSG_MODIFYCHANNEL
    requests to the host via a hypercall. The function is then used to
    define a sysfs "store" operation, which allows to change the (v)CPU
    the channel will interrupt by using the sysfs interface. The feature
    can be used for load balancing or other purposes.

    One interesting catch here is that Hyper-V can *not* currently ACK
    CHANNELMSG_MODIFYCHANNEL messages with the promise that (after the ACK
    is sent) the channel won't send any more interrupts to the "old" CPU.

    The peculiarity of the CHANNELMSG_MODIFYCHANNEL messages is problematic
    if the user want to take a CPU offline, since we don't want to take a
    CPU offline (and, potentially, "lose" channel interrupts on such CPU)
    if the host is still processing a CHANNELMSG_MODIFYCHANNEL message
    associated to that CPU.

    It is worth mentioning, however, that we have been unable to observe
    the above mentioned "race": in all our tests, CHANNELMSG_MODIFYCHANNEL
    requests appeared *as if* they were processed synchronously by the host.

    Suggested-by: Michael Kelley
    Signed-off-by: Andrea Parri (Microsoft)
    Link: https://lore.kernel.org/r/20200406001514.19876-11-parri.andrea@gmail.com
    Reviewed-by: Michael Kelley
    [ wei: fix conflict in channel_mgmt.c ]
    Signed-off-by: Wei Liu

    Andrea Parri (Microsoft)
     

22 Apr, 2020

1 commit

  • There is export_guid() function which exports guid_t to the u8 array.
    Use it instead of open coding variant.

    This allows to hide the uuid_t internals.

    Signed-off-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200422125937.38355-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Wei Liu

    Andy Shevchenko
     

18 Aug, 2019

1 commit

  • This patch corrects the SPDX License Identifier style
    in the trace header file related to Microsoft Hyper-V
    client drivers.
    For C header files Documentation/process/license-rules.rst
    mandates C-like comments (opposed to C source files where
    C++ style should be used)

    Changes made by using a script provided by Joe Perches here:
    https://lkml.org/lkml/2019/2/7/46

    Suggested-by: Joe Perches
    Signed-off-by: Nishad Kamdar
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Nishad Kamdar
     

28 Mar, 2018

1 commit


04 Nov, 2017

17 commits