HomeFreeBSD

MFC [Hyper-V]: r294553, r294700

Description

MFC [Hyper-V]: r294553, r294700

r294553

hyperv/vmbus: Lookup channel through id table

Vmbus event handler will need to find the channel by its relative
id, when software interrupt for event happens. The original lookup
searches the channel list, which is not very efficient. We now
create a table indexed by the channel relative id to speed up
the channel lookup.

Submitted by: Hongjiang Zhang <honzhan microsoft com>
Reviewed by: delphij, adrain, sephe, Dexuan Cui <decui microsoft com>
Approved by: adrian (mentor)
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D4802


r294700

hyperv/hn: Partly rework transmission path

  • Avoid unnecessary malloc/free on transmission path.
  • busdma(9)-fy transmission path.
  • Properly handle IFF_DRV_OACTIVE. This should fix the network stalls reported by many.
  • Properly setup TSO parameters.
  • Properly handle bpf(4) tapping. This 5 times the performance during TCP sending test, when there is one bpf(4) attached.
  • Allow size of chimney sending be tuned on a running system. Default value still needs more test to determine.

Reviewed by: adrian, delphij
Approved by: adrian (mentor)
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D4972

Approved by: re (marius)
Sponsored by: Microsoft OSTC

Details

Provenance
sepheAuthored on
Reviewer
delphij
Parents
rS295947: ixl(4)/ixlv(4): Remove a couple unnecessary register writes/flushes.
Branches
Unknown
Tags
Unknown