| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
hyperv: Add method to read 64bit Hyper-V specific time value.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9057
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
310048
hyperv: Implement "enlightened" time counter, which is rdtsc based.
Reviewed by: kib
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8763
310101
hyperv: Allow userland to ro-mmap reference TSC page
This paves way to implement VDSO for the enlightened time counter.
Reviewed by: kib
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
309874
hyperv/vmbus: Add channel polling support.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8738
309875
hyperv/hn: Add polling support
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8739
|
|
|
|
|
|
|
| |
hyperv/timesync: Support "sent TC" to improve accuracy.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8723
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
309240
hyperv/vmbus: Add result polling support for xact API.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8633
309242
hyperv/vmbus: Add result polling support for message Hypercall API.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8634
309244
hyperv/vmbus: Add exec cancel support for message Hypercall API.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8635
309245
hyperv/vmbus: Use poll/cancel APIs to wait for the CHOPEN response.
Since hypervisor does not respond CHOPEN to a revoked channel.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8636
309319
hypver/vmbus: Remove extra assertion.
It is asserted by vmbus_chan_gpadl_connect() now.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8660
309670
hyperv/vmbus: Use pause if possible.
This makes booting on Hyper-V w/ small # of vCPUs work properly.
Reported by: Hongxiong Xian <v-hoxian microsoft com>, Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
309128
hyperv/vmbus: Commit the GPADL id only after the connection succeeds.
Minor style change.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8563
309129
hyperv/vmbus: Minor style changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8564
309131
hyperv/vmbus: Fix sysctl tree leakage, if channel open fails.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8565
309132
hyperv/vmbus: Don't close unopened channels.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8566
309133
hyperv/vmbus: GPADL disconnect error on a revoked channel is benign.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8567
309134
hyperv/vmbus: No stranded bufring GPADL is allowed.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8568
309135
hyperv/vmbus: Return EISCONN if the bufring GPADL can't be disconnected.
So that the callers of vmbus_chan_open_br() could handle the passed in
bufring memory properly.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8569
309136
hyperv/vmbus: Don't free the bufring if its GPADL can't be disconnected.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8570
309138
hyperv/vmbus: Always try disconnect/free bufring memory upon channel close
While I'm here, minor wording and style changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8598
309139
hyperv/vmbus: Propagate close error.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8599
309140
hyperv/vmbus: Add a simplified version of channel close.
So that the caller can know the channel close error and react accordingly.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8600
309224
hyperv/vmbus: Zero out GPADL if error happens.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8601
309225
hyperv/vmbus: Add supportive transaction wait function.
This function supports channel revocation properly.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8611
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
309030
hyperv/vmbus: Set a mark on the revoked channel.
This will be used to fix device detach DEVMETHOD for revoked primary
channel.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8522
309039
hyperv/vmbus: Merge free/active locks.
These functions are only used by management stuffs, so there are
no needs to introduce extra complexity.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8524
309080
hyperv/vmbus: Implement orphan support for transaction API
It will be used to fix the primary channel revocation support.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8525
309081
hyperv/vmbus: Fix the primary channel revoking on vmbus side.
Drivers can now use vmbus_chan_{is_revoked,set_orphan,unset_orphan}() and
vmbus_xact_ctx_orphan() to fix their attach/detach DEVMETHODs for revoked
primary channels.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8545
309083
hyperv/vmbus: Fix the multi-channel revoking on vmbus side.
- Reference count the sub-channel when channel offer message is
processed, so that immediate rescind message on the same channel
will not race sub-channel open on driver side.
- Drop the above reference when sub-channel is closed, this closely
mimics the hypervisor's reaction when primary channel is closed
on the VM side. No drivers use sub-channel after primary channel
is closed.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8546
|
|
|
|
|
|
|
| |
hyperv/vmbus: Support transction result busy-wait.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8488
|
|
|
|
|
|
|
| |
hyperv: GC unused functions.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8406
|
|
|
|
|
|
| |
hyperv/vmbus: Expose channel management taskqueue for driver to use.
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307012
hyperv/vmbus: Allow driver to inject synchronous task into channel taskq.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8208
307013
hyperv/hn: Rework link status support.
This is the preamble for network device SR-IOV and
NDIS_STATUS_NETWORK_CHANGE handling.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8209
307262
hyperv/hn: Management parts always need suspend and resume.
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306360
hyperv/vmbus: Add dynamic device add and remove support
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8008
306387
hyperv/vmbus: Add functions to test RX/TX bufring emptiness
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8044
306389
hyperv/vmbus: Add function to drain channel interrupt task.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306072
hyperv/vmbus: Allow bufrings preallocation.
The assumption that the channel is only opened upon synthetic device
attach time no longer holds, e.g. Hyper-V network device MTU changes.
We have to allow device drivers to preallocate bufrings, e.g. in
attach DEVMETHOD, to prevent bufring allocation failure once the
system memory is fragmented after running for a while.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7960
306073
hyperv/hn: Allocate bufrings in attach DEVMETHOD.
So that reinitialization, e.g. MTU change, will not fail when the system
memory is excessively fragmented.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7961
306074
hyperv/vmbus: Assert that the bufring address is page aligned.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7962
306076
hyperv/hn: Put debug messages under bootverbose
While I'm here, strip blank line.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7963
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
304790
hyperv/vmbus: Add function to calculate max # of elements in a bufring.
Sponsored by: Microsoft
304791
hyperv/storvsc: Increase queue depth and rework channel selection.
- Increasing queue depth gives ~100% performance improvement for
randwrite fio test in Azure.
- New channel selection, which takes LUN id and the current cpuid
into consideration, gives additional ~20% performance improvement
for ranwrite fio test in Azure.
Submitted by: Hongzhang Jiang <honzhan microsoft com>
Modified by: sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7622
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
304204
hyperv/hn: Factor out hn_nvs_send/hn_nvs_send_sglist
Avoid unnecessary message type setting and centralize the send context
to transaction id cast.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7500
304205
hyperv/hn: Simplify RNDIS NVS message sending.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7501
304206
hyperv/hn: Simplify RNDIS message checks on RX path.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7502
304252
hyperv/hn: Ignore the useless TX table.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7514
304253
hyperv/hn: Simplify RNDIS RX packets acknowledgement.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7515
304254
hyperv/hn: Remove reference to nvsp_msg
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7516
304255
hyperv/hn: Remove reference to nvsp_status
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7517
304256
hyperv/hn: Get rid of unused bits
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7518
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
303945
hyperv/vmbus: Add macro to get channel packet data length.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7455
303947
hyperv/vmbus: Add APIs for various types of transactions.
Reviewed by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7456
303948
hyperv/hn: Switch to vmbus xact APIs for NVS initialization
Reviewed by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7457
303949
hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
Avoid code duplication.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7458
303989
hyperv/hn: Simplify NDIS configuration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7466
303992
hyperv/hn: Simplify NDIS initialization.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7467
303998
hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7469
304001
hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7470
304002
hyperv/hn: Simplify RXBUF disconnection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7472
304109
hyperv/hn: Simplify chimney sending buffer disconnection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7479
304111
hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7480
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
303603
hyperv/vmbus: Remove the artificial entry limit of SG and PRP list.
Just make sure that the total channel packet size does not exceed 1/2
data size of the TX bufring.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7359
303604
hyperv/storvsc: Set maxio to 128KB.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7360
303605
hyperv/storvsc: Stringent PRP list assertions
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7361
303764
hyperv/vmbus: Only make sure the TX bufring will not be closed.
KVP can write data, whose size is > 1/2 TX bufring size.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7414
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
303421
hyperv/vmbus: Avoid unnecessary mb()
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7333
303422
hyperv/vmbus: Inclusion cleanup
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7334
303470
hyperv/vmbus: Reindent function declarations.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7344
303471
hyperv/vmbus: Forward declare static functions
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7346
303472
hyperv/vmbus: Move driver glue to the beginning of the files
Just as most of other drivers do. And move sysinit function close
to its SYSINIT.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7347
303473
hyperv/vmbus: Revoke unnecessary exposure of vmbus softc
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
303066
hyperv/vmbus: Get rid of unnecessary definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7240
303067
hyperv/vmbus: Move IC register definition to Hyper-V utilities
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7241
303068
hyperv/vmbus: Channel struct field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7242
303069
hyperv/vmbus: Pass channel as the first argument for channel callback
The prepares to kill device private fields in channel struct, which
are not flexible and extensible.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7243
303070
hyperv/vmbus: Deprecate the device private data in channel struct
They are neither flexible nor extensible.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7244
303071
hyperv/vmbus: Hide channel struct definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7245
303072
hyperv/vmbus: Save MNF trigger location instead of MNF trigger index.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7246
303127
hyperv/vmbus: Save event flag location and evet flag mask.
This avoids unnecessary access to the vmbus_softc struct on sending path.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7257
303128
hyperv/vmbus: Reorder channel fields.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7258
303129
hyperv/vmbus: Shuffle function declaration and macro definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7259
303131
hyperv: hv_vmbus_channel -> vmbus_channel
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7260
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302888
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
Nuke unused channel GPADL API.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
302889
hyperv/vmbus: Back out r302888 temporarily
Committed by accident w/ duplicated commit log
Sponsored by: Microsoft OSTC
302890
hyperv/vmbus: Function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7212
302891
hyperv/vmbus: Cosmetic vmbus channel close cleanup
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7213
302892
hyperv/vmbus: Cleanup channel sysctl tree creation
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7214
302986
hyperv/vmbus: Cosmetic vmbus channel open cleanup
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7217
303020
hyperv/vmbus: Cleanup cpu based channel selection.
And create cpu to channel map at device attach time for storvsc(4).
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7229
303021
hyperv/vmbus: Function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7230
303022
hyperv/vmbus: Temp/internal variable/function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7231
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
Nuke unused channel GPADL API.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302885
hyperv/vmbus: Cleanup channel receiving.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7202
302886
hyperv/vmbus: Cleanup channel packet receiving.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7204
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302882
hyperv/vmbus: Function rename
And reorder the error prone parameters list.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7191
302883
hyperv/vmbus: Field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7193
302884
hyperv/vmbus: Factor out macros to do channel packet length conversion.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7194
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302875
hyperv/vmbus: Redefine channel packet.
The channel packet header will be shared w/ PRP (physical region page)
list channel packet and SG (scatter gather) list channel packet.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7155
302876
hyperv/vmbus: Rework sglist sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7156
302878
hyeprv/vmbus: Rework prplist sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7175
302879
hyperv/vmbus: Move channel packet flags definition to vmbus.h
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7176
302880
hyperv/vmbus: Move channel packet types definition to vmbus.h
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7177
302881
hyperv/vmbus: Cleanup channel sending
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7178
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302873
hyperv/vmbus: Set vcpuid to 0, if MSR_HV_VP_INDEX does not exist.
Mainly for compatibility. While I'm here, rename cpuid related
fields in hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7141
302874
hyperv/vmbus: Field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302871
hyperv/vmbus: Add vmbus_chan_gpadl_connect, which takes GPA physaddr
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7139
302872
hyperv/vmbus: Busdma-fy channel bufring.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7140
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302819
hyperv/vmbus: Sub-channel related fields renaming
And reorganize comment.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7113
302823
hyperv/vmbus: Move bus related message processing into vmbus.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7125
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302816
hyperv/vmbus: Release vmbus channel lock before detach devices
Device detach method may sleep.
While I'm here, rename the function, fix indentation and function
comment.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7110
302817
hyperv/vmbus: Field renaming to reflect reality
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7111
302818
hyperv/vmbus: Fix the racy channel close.
It is not safe to iterate the sub-channel list w/o lock on the
close path, while it's even more difficult to hold the lock
and iterate the sub-channel list. We leverage the
vmbua_{get,rel}_subchan() functions to solve this dilemma.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7112
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302808
hyperv/vmbus: Alloc/Free monitor param in vmbus channel alloc/free.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7101
302809
hyperv/vmbus: Move device register and channel free to the caller.
This paves the way for more cleanup/disentangle.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7102
302810
hyperv/vmbus: Move new channel scan notification to device register
And nuke now unnecessary function indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7103
302811
hyperv/vmbus: Cleanup vmbus_chan_msgproc_choffer
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7104
302812
hyperv/vmbus: Nuke the channel open state.
Channel is either opened or not-opened.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7105
302813
hyperv/vmbus: Cleanup vmbus_chan_add()
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7106
302814
hyperv/vmbus: Use sub-channel index to detect primary channel
In case that VMBUS_CHAN_ISPRIMARY is needed in the early place of
channel setup.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7108
302815
hyperv/vmbus: Only add primary channels to vmbus channel list
- Make the vmbus_chan_add more straightforward.
- Partially fix the hv_vmbus_release_unattached_channels().
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7109
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302733
hyperv/vmbus: Remove unused code
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7089
302737
hyperv/vmbus: Cleanup channel rescind
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7090
302801
hyperv/vmbus: Remove unused bits
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7091
302802
hyperv: hv_guid -> struct hyperv_guid.
This paves way for the further cleanup/disentangle.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7092
302803
hyperv/vmbus: Move channel offer message definition to vmbus_reg.h
- Avoid bit fields.
- Avoid unnecessary indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7093
302804
hyperv/vmbus: Switch to vmbus channel message macros
Prepare for more cleanup.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7094
302805
hyperv/vmbus: Remove unused bits
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7095
302806
hyperv/vmbus: Get rid of rel{_id,id}, use channel id consistently.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302723
hyperv: All Hypercall parameters have same alignment requirement.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7086
302726
hyperv: Signal event input parameter is shared w/ MNF
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7087
302731
hyperv/vmbus: Reorganize MNF event sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7088
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302707
hyperv/vmbus: Nuke unused field from hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7036
302708
hyperv/bufring: Remove unused fields
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7037
302709
hyperv/vmbus: Pack bool field into flags field
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7038
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302698
hyperv/vmbus: Add vmbus method for GUID base device probing.
Reduce the exposure of hv_device.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7024
302699
hyperv/vmbus: All ivars are read-only; nuke unnecessary write_ivar
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7025
302700
hyperv/vmbus: Add channel ivar accessor.
This makes life easier during the transition period to nuke the hv_device.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7026
302701
hyperv/stor: Avoid the hv_device and nuke the broken get_stor_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7027
302702
hyperv/util: Avoid the hv_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7028
302703
hyperv/vmbus: Deprecate the usage of hv_device.
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7032
302704
hyperv/hn: Avoid the hv_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7033
302706
hyperv: Get rid of hv_device, which is unnecessary indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302693
hyperv/vmbus: Make channel id a field of hv_vmbus_channel.
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7014
302694
hyperv/vmbus: Make subchan index a field of hv_vmbus_channel.
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7015
302695
hyperv/vmbus: Add flags field into hv_vmbus_channel for MNF indication
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7019
302696
hyperv/vmbus: Add type/instance guid fields into hv_vmbus_channel
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7020
302697
hyperv/vmbus: Remove the embedded offer message from hv_vmbus_channel
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7021
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302632
hyperv/vmbus: More verbose for GPADL_connect/chan_{rescind,offer}
Reviewed by: Dexuan Cui <decui microsoft com>, Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6976
302633
hyperv/vmbus: Free sysctl properly upon channel close.
Prepare for sub-channel re-open.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6977
302634
hyperv/vmbus: Fix sub-channel re-open support.
For multi-channel devices, once the primary channel is closed,
a set of 'rescind' messages for sub-channels will be delivered
by Hypervisor. Sub-channel MUST be freed according to these
'rescind' messages; directly re-openning sub-channels in the
same fashion as the primary channel's re-opening does NOT work
at all.
After the primary channel is re-opened, requested # of sub-
channels will be delivered though 'channel offer' messages, and
this set of newly offered channels can be opened along side with
the primary channel.
This unbreaks the MTU setting for hn(4), which requires re-
openning all existsing channels upon MTU change.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6978
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302617
hyperv/vmbus: Flatten channel message response processing.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6914
302618
hyperv/vmbus: Avoid tx_evtflags setting code duplication.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6915
302619
hyperv/vmbus: Busdma-fy Hypercall signal event input parameter.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6916
302620
hyperv: Nuke unused stuffs
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6917
302621
hyperv/vmbus: Don't be oversmart in default cpu selection.
Pin the channel to cpu0 by default. Drivers having special channel-cpu
mapping requirement should call vmbus_channel_cpu_{set,rr}() themselves.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6918
302623
hyperv/vmbus: Minor renaming
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6919
302629
hyperv/vmbus: Rework vmbus version accessing.
Instead of global variable, vmbus version is accessed through
a vmbus DEVMETHOD now.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6953
302630
hyperv/vmbus: Move GPADL index into vmbus_softc
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6954
302631
hyperv/vmbus: Move channel list to vmbus_softc
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6956
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302607
hyperv/vmbus: Use post message Hypercall APIs for channel open
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6876
302608
hyperv/vmbus: Remove unnecessary check and unapplied comment
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6877
302609
hyperv/vmbus: Use post message Hypercall APIs for GPADL connect.
This also fixes memory leakge if sub-connect messages are needed.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6878
302610
hyperv/vmbus: Use post message Hypercall APIs for channel close
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6906
302611
hyperv/vmbus: Use post message Hypercall APIs for GPA disconnect
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6912
302612
hyperv: Nuke unused stuffs
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6913
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
302543
hyperv/vmbus: Use post message Hypercall APIs for channel request
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6831
302545
hyperv/vmbus: Function renaming.
And pass vmbus_softc to vmbus_doattach()
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6842
302547
hyperv/vmbus: Explicitly assign channel message process array.
While I'm here, remove the useless message type from message process
array, which is not used and serves no purposes at all.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6858
302549
hyperv/vmbus: Add sysctl to expose vmbus version.
Requested by: Hongxiong Xian <v-hoxian microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6860
302554
hyperv/vmbus: Use post message Hypercall APIs for unload
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6861
302556
hyperv/vmbus: Create channel synchronously.
The device probe/attach has been move to a different thread, so the
reasons to create the channel asynchronously are no longer valid.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6862
302557
hyperv/vmbus: Save vmbus softc to channels.
So that we don't need to access the global vmbus softc.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6863
302559
hyperv/vmbus: Embed channel detach task in channel itself.
GC work queue stuffs.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6864
302606
hyperv/vmbus: Reorganize vmbus scan process.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6875
|
|
|
|
|
|
|
|
|
|
| |
hyperv/vmbus: Implement a new set of APIs for post message Hypercall
And use this new APIs for Initial Contact post message Hypercall.
More post message Hypercalls will be converted.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
301017
hyperv/vmbus: Indentation cleanup
No functional changes.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6602
301018
hyperv/vmbus: Move global vmbus id array to stack.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6603
301019
hyperv/vmbus: Redefine SynIC message.
- Avoid unnecessary indirection.
- Avoid bit fields.
- Use __packed.
Reviewed by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6636
301020
hyperv/vmbus: White space cleanup
No functional changes
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6637
301021
hyperv: Move guid2str from vmbus file to hyperv file
- Use uint8_t for GUID byte array.
- Define GUID string length.
- Break long lines.
- Nuke unnecessary stack variable.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6640
301022
hyperv/kvp: Use if_xname.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6641
301106
hyperv/vmbus: Redefine event flags.
- Nuke unnecessary union.
- Avoid convoluted macro indirection.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6671
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
300647
hyperv/vmbus: Move vcpuid into vmbus softc per-cpu data
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6521
300650
hyperv/vmbus: Move two global flags into vmbus softc
And pack them into one flag field.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6522
300651
hyperv/vmbus: Minor style and white space cleanup
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6523
300652
hyperv/vmbus: Pass vmbus softc to vmbus_synic_setup
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6527
300653
hyperv/vmbus: Nuke unnecessary MSR read
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
300478
hyperv: Add helpers for busdma(9) operation
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6443
300479
hyperv/hn: Use hyperv busdma(9) helper.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6444
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
298569
hyperv/channel: Remove the unnecessary 'new' flag
MFC after: 1 week
Sponsored by: Microsoft OSTC
298570
hyperv/channel: Minor style changes; no functional changes.
MFC after: 1 week
Sponsored by: Microsoft OSTC
298571
hyperv/channel: Remove unapplied comment
MFC after: 1 week
Sponsored by: Microsoft OSTC
298572
hyperv/channel: Log a warning about duplicated primary channel offer
MFC after: 1 week
Sponsored by: Microsoft OSTC
298574
hyperv/channel: Add functions to synchronize sub-channel offers
MFC after: 1 week
Sponsored by: Microsoft OSTC
298575
hyperv/hn: Synchronize sub-channel offers
MFC after: 1 week
Sponsored by: Microsoft OSTC
298613
hyperv/stor: Remove the useless hs_open_multi_channel
This fixes the sub-channel offer race after Hyper-V device probe/attach
is moved to vmbus SYSINIT/attach.
MFC after: 1 week
Sponsored by: Microsoft OSTC
298614
hyperv/stor: Synchronize sub-channel offers
MFC after: 1 week
Sponsored by: Microsoft OSTC
298615
hyperv/hn: Avoid sub-channel creation callback.
Since the sub-channel offers are synchronized, we can do our own
channel setup without using the sub-channel creation callback.
This paves the way to whack the sub-channel creation callback.
MFC after: 1 week
Sponsored by: Microsoft OSTC
298616
hyperv/stor: Avoid sub-channel creation callback.
Since the sub-channel offers are synchronized, we can do our own
channel setup without using the sub-channel creation callback.
This paves the way to whack the sub-channel creation callback.
MFC after: 1 week
Sponsored by: Microsoft OSTC
298617
hyperv/channel: Git rid of the sub-channel creation callback
It is no longer used.
MFC after: 1 week
Sponsored by: Microsoft OSTC
|
|
|
|
|
|
|
| |
hyperv: Update copyright to 2016 for the files Microsoft changed in 2016
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6039
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
297142
hyperv: Factor out snprinf_hv_guid()
Submitted by: Ju Sun <junsu microsoft com>
Reviewed by: Dexuan Cui <decui microsoft com>, sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5651
297143
hyperv/vmbus: Implement bus_child_pnpinfo_str method
Submitted by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5669
297176
hyperv/evttimer: Use an independent message slot so that it can work
Using the same message slot as the other types of the messages has
the side effect that the event timer message could be deferred to
the swi threads to run (lacking of trapframe and the original code
didn't even handle that, so the event timer was actually broken).
As of this commit we use an independent message slot for event timer,
so that we could handle all of event timer messages in the interrupt
handler directly. Note, the message slot for event timer is still
bind to the same interrupt vector as the other types of messages.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe
Discussed with: Jun Su <junsu microsoft com>, Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5696
297177
hyperv/vmbus: Use taskqueue_fast for non-performance critical messages
This gets rid of the per-cpu SWIs.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: Dexuan Cui <decui microsoft com>, sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5215
297178
hyperv/vmbus: Remove NULL check for taskqueue_create_fast(M_WAITOK)
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: Dexuan Cui <decui microsoft com>, sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5215
297221
hyperv/vmbus: Create per-cpu fast taskqueue for msg handling
Using one taskqueue does not work, since the EOM MSR must be written
on the msg's owner CPU.
Noticed by: Jun Su <junsu microsoft com>
Discussed with: Jun Su <junsu microsoft com>, Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
296379
hyperv/hn: Add multiple channel support, a.k.a. vRSS
Each channel contains one RX ring and one TX ring. And we
try to distribute the channels to different evenly.
Note: Currently we don't have enough information to extract
the RSS type and RSS hash value from the received packets.
This greatly improves the TX/RX performance for 8 virtual CPU
Hyper-V over 10Ge: it can max out 10Ge for TCP when multiple
RX/TX rings are enabled.
This almost doubles the TX/RX performance for locally connected
Hyper-Vs: was 6Gbps w/ 128 TCP streams, now 11Gbps w/ multiple
RX/TX rings enabled.
It is not enabled by default; it will be switched on after more
tests.
Collaborated with: Hongjiang Zhang <honzhan microsoft com>
MFC after: 2 week
Sponsored by: Microsoft OSTC
296380
hyperv/hn: Pass channel to send done callbacks.
Mainly to strigent the data packet send done check.
MFC after: 2 weeks
Sponsored by: Microsoft OSTC
296381
hyperv/hn: Add per-TX ring stats for # of transmitted packets
MFC after: 2 weeks
Sponsored by: Microsoft OSTC
296593
hyperv/hn: Move if_initname to an earlier place
So that functions shared w/ attach path could use if_printf().
While I'm here, remove unnecessary if_dunit and if_dname assignment.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5576
296594
hyperv/hn: Factor out hn_channel_attach
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5577
296595
hyperv/hn: Make the # of TX rings configurable.
Rename the tunables to avoid confusion.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5578
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
296293
hyperv/hn: Pass channel to hv_nv_on_receive_completion()
While I'm here, staticize this function.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
296296
hyperv/hn: Make read buffer per-channel
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Reorganized by: sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
296297
hyperv/hn: Fix typo in comment
MFC after: 1 week
Sponsored by: Microsoft OSTC
296305
hyperv/hn: Make # of rings configurable
And since the host may not being able to allocate the # of rings
requested by us, save the # of rings allocated by the host in the
ring_inuse counters; use ring_inuse counters for run time operation.
This paves the way for the upcoming vRSS support.
MFC after: 1 week
Sponsored by: Microsoft OSTC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
296083
hyperv: Remove useless channel inbound_lock
It serves no purpose.
Reviewed by: Hongjiang Zhang <honzhan microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5450
296084
hyperv: Always set device for channels
And unregister hv_device only for primary channels, who own the hv_device.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5451
296085
hyperv/hn: Pass channel as the channel callback argument
This is the preamble to pass channel back to hn(4) upon TX/RX done.
Reviewed by: Hongjiang Zhang <honzhan microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5452
296086
hyperv/hn: Pass channel to TX/RX done
This is preamble to associate the TX/RX rings to their channel.
While I'm here, revoke unused netvsc_recv_rollup.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5453
296087
hyperv/hn: Associate TX/RX ring with channel
This fixes the TX/RX ring selection for TX/RX done.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5454
296088
hyperv/hn: Remove the useless num_outstanding_sends
We rely on taskqueue draining now.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5456
296089
hyperv/hn: Make transmission path channel aware
Chimney sending buffer still needs conversion, which will be done
along with the upcoming vRSS support.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
295919
hyperv/stor: Fix print format
Detected by: PVS Static Analysis
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5388
295958
hyperv/utils: Code rearrange and cleanup
Split heartbeat, shutdown and timesync out of utils code
and name them properly.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: adrian, sephe, Hongjiang Zhang <honzhan microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5216
295964
hyperv/vmbus: Use free(9) for interrupt page; it is allocated by malloc(9)
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5417
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
295307
hyperv: Use standard taskqueue instead of hv_work_queue
HyperV code was ported from Linux. There is an implementation of
work queue called hv_work_queue. In FreeBSD, taskqueue could be
used for the same purpose. Convert all the consumer of hv_work_queue
to use taskqueue, and remove work queue implementation.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: adrian, Hongjiang Zhang <honzhan microsoft com>
Approved by: adrian (mentor)
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D4963
295308
hyperv: Use WAITOK in the places where we can wait
And convert rndis non-hot path spinlock to mutex.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: adrian, sephe
Approved by: adrian (mentor)
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5081
295309
hyperv: Use malloc for page allocation.
We will eventually convert them to use busdma.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: adrian, sephe, Dexuan Cui <decui microsoft com>
Approved by: adrian (mentor)
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5087
295606
hyperv/hn: Fix typo in comment
Noticed by: avos
Reviewed by: adrian, avos, Hongjiang Zhang <honzhan microsoft com>
Approved by: adrian
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5199
|