#
311375 |
|
05-Jan-2017 |
sephe |
MFC 309874,309875
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
|
#
311364 |
|
05-Jan-2017 |
sephe |
MFC 309128,309129,309131-309136,309138-309140,309224,309225
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
|
#
311359 |
|
05-Jan-2017 |
sephe |
MFC 309030,309039,309080,309081,309083
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
|
#
308634 |
|
13-Nov-2016 |
sephe |
MFC 308194
hyperv: GC unused functions.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8406
|
#
308517 |
|
11-Nov-2016 |
sephe |
MFC 307624
hyperv/vmbus: Expose channel management taskqueue for driver to use.
MFC after: 3 days Sponsored by: Microsoft
|
#
307614 |
|
19-Oct-2016 |
sephe |
MFC 307012,307013,307262
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
|
#
307599 |
|
18-Oct-2016 |
sephe |
MFC 306360,306387,306389
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
|
#
307595 |
|
18-Oct-2016 |
sephe |
MFC 306072-306074,306076
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
|
#
307486 |
|
17-Oct-2016 |
sephe |
MFC 304790,304791
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
|
#
307476 |
|
17-Oct-2016 |
sephe |
MFC 304204-304206,304252-304256
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
|
#
307475 |
|
16-Oct-2016 |
sephe |
MFC 303945,303947-303949,303989,303992,303998,304001,304002,304109,304111
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
|
#
307471 |
|
16-Oct-2016 |
sephe |
MFC 303603-303605,303764
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
|
#
307466 |
|
16-Oct-2016 |
sephe |
MFC 303421,303422,303470-303473
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
|
#
307461 |
|
16-Oct-2016 |
sephe |
MFC 303066-303072,303127-303129,303131
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
|
#
307459 |
|
16-Oct-2016 |
sephe |
MFC 302888-302892,302986,303020-303022
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
|
#
307457 |
|
16-Oct-2016 |
sephe |
MFC 302885,302886
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
|
#
307456 |
|
16-Oct-2016 |
sephe |
MFC 302882-302884
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
|
#
307455 |
|
16-Oct-2016 |
sephe |
MFC 302875,302876,302878-302881
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
|