summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/utilities/hv_heartbeat.c
diff options
context:
space:
mode:
authorsephe <sephe@FreeBSD.org>2016-03-24 00:40:41 +0000
committersephe <sephe@FreeBSD.org>2016-03-24 00:40:41 +0000
commitc939ef2e215069b4fe694e5cdaf44045ae31b30a (patch)
tree3491b93880ec1da638f56d35cdf6afc55500b28c /sys/dev/hyperv/utilities/hv_heartbeat.c
parent0566758cff1cdf313f1cee36e7257c510b22459b (diff)
downloadFreeBSD-src-c939ef2e215069b4fe694e5cdaf44045ae31b30a.zip
FreeBSD-src-c939ef2e215069b4fe694e5cdaf44045ae31b30a.tar.gz
hyperv/vmbus: use a better retry method in hv_vmbus_post_message()
Most often, hv_vmbus_post_message() doesn't fail. However, it fails intermittently when GPADLs of large shared memory is to be established with the host, e.g. on the hn(4) attach path: a GPADL of 15MB sendbuf is created, for which lots of messages will be flooded to the host. The host side tries to throttle the message rate by returning HV_STATUS_INSUFFICIENT_BUFFERS. Before this commit, we do several retries for failed messages, but the delay between each retry is pretty/too low, which will cause sporadic message posting failure. We now use large delay (>=1ms) between each retry to fix the message posting failure. Submitted by: Dexuan Cui <decui microsoft com> Reviewed by: sephe MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5715
Diffstat (limited to 'sys/dev/hyperv/utilities/hv_heartbeat.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud