[PATCH 00/11] VMBus channel interrupt reassignment
From: Andrea Parri (Microsoft)
Date: Sun Apr 05 2020 - 20:16:39 EST
Hi all,
This is a follow-up on the RFC submission [1]. The series introduces
changes in the VMBus drivers to reassign the CPU that a VMbus channel
will interrupt. This feature can be used for load balancing or other
purposes (e.g. CPU offlining). The submission integrates feedback in
the RFC to amend the handling of the 'array of channels' (patch #3).
Thanks,
Andrea
[1] https://lkml.kernel.org/r/20200325225505.23998-1-parri.andrea@xxxxxxxxx
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Cc: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx>
Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Andrea Parri (Microsoft) (11):
Drivers: hv: vmbus: Always handle the VMBus messages on CPU0
Drivers: hv: vmbus: Don't bind the offer&rescind works to a specific
CPU
Drivers: hv: vmbus: Replace the per-CPU channel lists with a global
array of channels
hv_netvsc: Disable NAPI before closing the VMBus channel
hv_utils: Always execute the fcopy and vss callbacks in a tasklet
Drivers: hv: vmbus: Use a spin lock for synchronizing channel
scheduling vs. channel removal
PCI: hv: Prepare hv_compose_msi_msg() for the
VMBus-channel-interrupt-to-vCPU reassignment functionality
Drivers: hv: vmbus: Remove the unused HV_LOCALIZED channel affinity
logic
Drivers: hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug
Drivers: hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message
type
scsi: storvsc: Re-init stor_chns when a channel interrupt is
re-assigned
drivers/hv/channel.c | 58 +++--
drivers/hv/channel_mgmt.c | 347 +++++++++++++++-------------
drivers/hv/connection.c | 58 +----
drivers/hv/hv.c | 16 +-
drivers/hv/hv_fcopy.c | 2 +-
drivers/hv/hv_snapshot.c | 2 +-
drivers/hv/hv_trace.h | 19 ++
drivers/hv/hyperv_vmbus.h | 32 ++-
drivers/hv/vmbus_drv.c | 241 +++++++++++++++----
drivers/net/hyperv/netvsc.c | 7 +-
drivers/pci/controller/pci-hyperv.c | 44 ++--
drivers/scsi/storvsc_drv.c | 95 +++++++-
include/linux/hyperv.h | 51 ++--
13 files changed, 620 insertions(+), 352 deletions(-)
--
2.24.0