[Hyper-V] Bug fixes for storvsc (tagged queuing, error conditions)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Tim Gardner | ||
Xenial |
Fix Released
|
Undecided
|
Tim Gardner | ||
Yakkety |
Fix Released
|
Undecided
|
Tim Gardner | ||
Zesty |
Fix Released
|
Medium
|
Tim Gardner |
Bug Description
Patchset:
1/6 Enable tracking of queue depth.
2/6 Remove the artificially imposed restriction on max segment size.
3/6 Enable multi-q support. We will allocate the outgoing channel using
the following policy:
1. We will make every effort to pick a channel that is in the
same NUMA node that is initiating the I/O
2. The mapping between the guest CPU and the outgoing channel
is persistent.
4/6 Properly set SRB flags when hosting device supports tagged queuing.
This patch improves the performance on Fiber Channel disks.
5/6 When sense message is present on error, we should pass along to the upper
layer to decide how to deal with the error.
This patch fixes connectivity issues with Fiber Channel devices.
6/6 On I/O errors, the Windows driver doesn't set data_transfer_
on error conditions other than SRB_STATUS_
In these cases we need to set data_transfer_
indicating there is no data transferred. On SRB_STATUS_
data_transfer_
The new feature (multi-q) in this patchset require boot line parameters to enable so they are safe to integrate.
K. Y. Srinivasan (3):
storvsc: Enable tracking of queue depth
storvsc: Remove the restriction on max segment size
storvsc: Enable multi-queue support
Long Li (3):
storvsc: use tagged SRB requests if supported by the device
storvsc: properly handle SRB_ERROR when sense message is present
storvsc: properly set residual data length on errors
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
tags: | added: kernel-da-key kernel-hyper-v |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
https:/ /lists. ubuntu. com/archives/ kernel- team/2017- February/ 082435. html