diff options
author | whu <whu@FreeBSD.org> | 2015-05-22 09:03:55 +0000 |
---|---|---|
committer | whu <whu@FreeBSD.org> | 2015-05-22 09:03:55 +0000 |
commit | 30cd3b9808be2ed4002993166f0790b8f07d95d8 (patch) | |
tree | f2a61a02982282e7de44dcf271ef00cd723d44c5 /sys/dev/hyperv/utilities/hv_util.c | |
parent | b453b295750133b89170fcb27025f932be66ad18 (diff) | |
download | FreeBSD-src-30cd3b9808be2ed4002993166f0790b8f07d95d8.zip FreeBSD-src-30cd3b9808be2ed4002993166f0790b8f07d95d8.tar.gz |
MFC r282212:
Microsoft vmbus, storage and other related driver enhancements for HyperV.
- Vmbus multi channel support.
- Vector interrupt support.
- Signal optimization.
- Storvsc driver performance improvement.
- Scatter and gather support for storvsc driver.
- Minor bug fix for KVP driver.
Thanks royger, jhb and delphij from FreeBSD community for the reviews
and comments. Also thanks Hovy Xu from NetApp for the contributions to
the storvsc driver.
PR: 195238
Submitted by: whu
Reviewed by: royger
Approved by: royger
Relnotes: yes
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D2575
Diffstat (limited to 'sys/dev/hyperv/utilities/hv_util.c')
-rw-r--r-- | sys/dev/hyperv/utilities/hv_util.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/hyperv/utilities/hv_util.c b/sys/dev/hyperv/utilities/hv_util.c index 3e545cf..dc4b1e2 100644 --- a/sys/dev/hyperv/utilities/hv_util.c +++ b/sys/dev/hyperv/utilities/hv_util.c @@ -408,6 +408,15 @@ hv_util_attach(device_t dev) } } + /* + * These services are not performance critical and do not need + * batched reading. Furthermore, some services such as KVP can + * only handle one message from the host at a time. + * Turn off batched reading for all util drivers before we open the + * channel. + */ + hv_set_channel_read_state(hv_dev->channel, FALSE); + ret = hv_vmbus_channel_open(hv_dev->channel, 4 * PAGE_SIZE, 4 * PAGE_SIZE, NULL, 0, service->callback, hv_dev->channel); |