I built a Xenial test kernel with all the patches from the following
bugs:
bug 1670518
PCI: hv: Allocate physically contiguous hypercall params buffer
PCI: hv: Make unnecessarily global IRQ masking functions static
PCI: hv: Delete the device earlier from hbus->children for hot-remove
PCI: hv: Fix hv_pci_remove() for hot-remove
bug 1672785
net/mlx4_core: Avoid delays during VF driver device shutdown
bug 1667531
tools: hv: Enable network manager for bonding scripts on RH
[net-next] tools: hv: Add clean up function for Ubuntu config
bcc5a76 tools: hv: Add a script to help bonding synthetic and VF NICs
bug 1667527
4a9b0933bdfc PCI: hv: Use device serial number as PCI domain
bug 1667007
d3de209 net/mlx4_core: Use cq quota in SRIOV when creating completion
EQs
bug 1650058
14c84da90b0d net/mlx4_en: Fix bad WQE issue
c46100f413ca net/mlx4_core: Fix racy CQ (Completion Queue) free
f4f73e2e6308 net/mlx4_core: Fix when to save some qp context flags for
dynamic VST to VGT transitions
3c05ac20fe6e net/mlx4_core: Avoid command timeouts during VF driver
device shutdown
The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/HyperVCombined/
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1670518
Title:
[Hyper-V] Missing PCI patches breaking SR-IOV hot remove
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Xenial:
In Progress
Status in linux source package in Yakkety:
In Progress
Status in linux source package in Zesty:
Fix Released
Bug description:
Looks like the rebase work missed some prerequisite patches in
drivers/pci/host/pci-hyperv.c
(Needed for SR-IOV in Azure on lts-xenial, HWE, and custom)
commit 0de8ce3ee8e38cc66683438f715c79a2cc69539e
Author: Long Li <[email protected]>
Date: Tue Nov 8 14:04:38 2016 -0800
PCI: hv: Allocate physically contiguous hypercall params buffer
hv_do_hypercall() assumes that we pass a segment from a physically
contiguous buffer. A buffer allocated on the stack may not work if
CONFIG_VMAP_STACK=y is set.
Use kmalloc() to allocate this buffer.
commit 542ccf4551fa019a8ae9dfb7c8cd7e73a3d7e614
Author: Tobias Klauser <[email protected]>
Date: Mon Oct 31 12:04:09 2016 +0100
PCI: hv: Make unnecessarily global IRQ masking functions static
Make hv_irq_mask() and hv_irq_unmask() static as they are only used in
pci-hyperv.c
This fixes a sparse warning.
commit e74d2ebdda33b3bdd1826b5b92e9aa45bdf92bb3
Author: Dexuan Cui <[email protected]>
Date: Thu Nov 10 07:19:52 2016 +0000
PCI: hv: Delete the device earlier from hbus->children for hot-
remove
After we send a PCI_EJECTION_COMPLETE message to the host, the host will
immediately send us a PCI_BUS_RELATIONS message with
relations->device_count == 0, so pci_devices_present_work(), running on
another thread, can find the being-ejected device, mark the
hpdev->reported_missing to true, and run list_move_tail()/list_del() for
the device -- this races hv_eject_device_work() -> list_del().
Move the list_del() in hv_eject_device_work() to an earlier place, i.e.,
before we send PCI_EJECTION_COMPLETE, so later the
pci_devices_present_work() can't see the device.
commit 17978524a636d007e6b929304ae3eb5ea0371019
Author: Dexuan Cui <[email protected]>
Date: Thu Nov 10 07:18:47 2016 +0000
PCI: hv: Fix hv_pci_remove() for hot-remove
1. We don't really need such a big on-stack buffer when sending the
teardown_packet: vmbus_sendpacket() here only uses sizeof(struct
pci_message).
2. In the hot-remove case (PCI_EJECT), after we send PCI_EJECTION_COMPLETE
to the host, the host will send a RESCIND_CHANNEL message to us and the
host won't access the per-channel ringbuffer any longer, so we needn't
send
PCI_RESOURCES_RELEASED/PCI_BUS_D0EXIT to the host, and we shouldn't expect
the host's completion message of PCI_BUS_D0EXIT, which will never come.
3. We should send PCI_BUS_D0EXIT after
hv_send_resources_released().
Signed-off-by: Dexuan Cui <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Jake Oshins <[email protected]>
Acked-by: K. Y. Srinivasan <[email protected]>
CC: Haiyang Zhang <[email protected]>
CC: Vitaly Kuznetsov <[email protected]>
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670518/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp