HomeFreeBSD

MFC 297219

Description

MFC 297219

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

Details

Provenance
sepheAuthored on
Parents
rS301923: Sync all svnadmin hooks to prevent empty messages, and update with
Branches
Unknown
Tags
Unknown