summaryrefslogtreecommitdiff
path: root/sys/dev/pv
AgeCommit message (Collapse)Author
2018-05-17Let hvn_iff handle promisc mode activationMike Belopuhov
Tested by Daniel Wade, <Daniel2 ! Wade at ge ! com>, thanks!
2018-04-28replace add_*_randomness with enqueue_randomness()Jasper Lievisse Adriaanse
this gets rid of the source annotation which doesn't really add anything other than adding complexitiy. randomess is generally good enough that the few extra bits that the source type would add are not worth it. ok mikeb@ deraadt@
2018-03-11Workaround an Azure UDP transmit checksum offloading bugMike Belopuhov
According to https://reviews.freebsd.org/D12429, UDP transmit checksum offloading doesn't work in Azure when sizeof(IP hdr + UDP hdr + payload) is greater than 1420 and don't fragment bit isn't set in the IP header. Instead of peeking into the packet and attempting to fix the fallout, we restrict UDP checksum offloading to NDIS versions newer than the one used in Azure (6.30) in an attempt to keep the feature enabled. Unfortunately, there's no way to tell Azure apart from a standalone Hyper-V to make this check more precise.
2018-03-08Implement the VMWare vmbackup protocol using vfs_stall(). This lets youJonathan Matthew
clone running guests and take disk-only snapshots, most of the time ending up with a clean filesystem. ok dlg@ deraadt@
2018-02-27Release the netlock when sleeping for control messages in in vioioctl().Martin Pieuchot
Prevents a deadlock reported by aalm@
2018-02-19Remove almost unused `flags' argument of suser().Martin Pieuchot
The account flag `ASU' will no longer be set but that makes suser() mpsafe since it no longer mess with a per-process field. No objection from millert@, ok tedu@, bluhm@
2018-01-21Release interrupt source if the interrupt task is already scheduledMike Belopuhov
Tested by Imre Oolberg, thanks!
2018-01-21Improve panic messageMike Belopuhov
2018-01-20Disable TCP and UDP transmit checksum offloadingMike Belopuhov
In certain configurations, transmit checksum offloading doesn't appear to work correctly, preventing correct TCP and UDP operation. Some of these issues involving VLAN tagging are documented by the Xen project. Problem reported and fix tested by Imre Oolberg, thanks!
2018-01-18Fix an off-by-one uncovered by the recent free(9) changeMike Belopuhov
From canacar@, thanks!
2017-12-09No need for the txb_used flag anymoreMike Belopuhov
2017-11-26Xen interrupt task barrier is just a taskq_barrier so call itMike Belopuhov
instead of rolling its own now that it's been made available. OK dlg
2017-11-08Fixup what looks like a merge mistake; no functional changeMike Belopuhov
2017-09-08If you use sys/param.h, you don't need sys/types.hTheo de Raadt
2017-08-10Don't forget to call va_end in xen_hypercallMike Belopuhov
Coverity CID 1453343
2017-08-10Prevent an unlikely resource leakMike Belopuhov
Coverity CID 1453069; Severity: unlikely, not user-visible.
2017-08-10sector_count is uninitialized if the SCSI cmdlen is not 6, 10, 12 orReyk Floeter
16 bytes long. This cannot happen. But it is good to silence the uninitialized variable warning. Coverity CID 1453104; Severity: Insignificant OK mikeb@
2017-08-10Fix copy-paste error in the error path of vio_alloc_mem() that checkedReyk Floeter
the wrong variable (sc_tx_dmamaps[i] instead of sc_rx_dmamaps[i]). Coverity CID 1452937; Severity: Minor OK mikeb@
2017-08-10Add missing comma that caused a concatenated string. Fixes printing ofReyk Floeter
the device names of "9P Transport" and "mac80211 wlan" virtio devices. Coverity CID 1453254; Severity: Insignificant OK mikeb@
2017-08-10Correct the upper bound for the command size before the passthroughMike Belopuhov
Coverity CID 1453317; Severity: unlikely, not user-visible.
2017-08-10Buffer size for the SCSI vendor string should be 8 char longMike Belopuhov
A vendor and part of the product string got copied into a larger on-stack buffer as a result of an out-of-bounds access, however only 4 characters are meaningful in this context. Coverity CID 1453206; Severity: insignificant.
2017-08-10Fixup upper bound for the completion descriptor identifierMike Belopuhov
Coverity CID 1452864; Severity: unlikely, not user-visible.
2017-08-10Fail if unknown type of an address family was specifiedMike Belopuhov
Coverity CID 1452981; Severity: unlikely, not user-visible.
2017-07-21Replace MD _bus_dmamap_* function calls with MI onesMike Belopuhov
2017-07-19Turn this into a panic since there's no way to recover from itMike Belopuhov
2017-07-17Forbid overwriting a grant table entry currently in useMike Belopuhov
2017-07-17Reduce amount of CAS attempts in a busy-wait loop by a factor of 100Mike Belopuhov
2017-07-17Pick the correct TX buffer when unrollingMike Belopuhov
2017-07-17Reimplement mbuf/map to descriptor mappingMike Belopuhov
Previously descriptors have referenced DMA maps too loosely which led to bus_dmamap_unload being called before all fragments have been completed. This eliminates the last instance of excessive looping while waiting for a grant table entry to become available.
2017-07-17Grant table entries must be disassociated once CCB is completeMike Belopuhov
Attempting to unload the map before all chunks are done may lead to unnecessary looping.
2017-07-14SpacingMike Belopuhov
2017-07-14Reduce the number of CAS loops from ludicrous to ridiculousMike Belopuhov
Now that the source of the delay with releasing grant table entries has been identified and fixed the number of attempts to CAS entry flags can be substantially reduced and while it's decreased by a factor of 100000, it should go down at least a 100 more in the future.
2017-07-14Silence the interrupt source until the interrupt task has done its jobMike Belopuhov
This small change significantly improves performance under load and halves the number of received interrupts.
2017-07-14Support out-of-order TX completion notificationsMike Belopuhov
Apparently, just like the disk interface, the network backend may post TX completions out-of-order, i.e. the ring position doesn't determine which descriptor is being completed and the code must look at the response id inside the completion message. It might seem obvious, but since networking hardware doesn't usually work this way, it was something that has been overlooked. Based on instability reports from Kirill Miazine <km at krot ! org>, thanks!
2017-07-13Add a comment explaining why pciide(4) must skip attaching disksMike Belopuhov
Requested by kettenis@.
2017-07-12Prefer paravirtualized interface for IDE disks as wellMike Belopuhov
2017-06-27Provide a handler stub for the "channel rescind" messageMike Belopuhov
2017-06-27Avoid testing an uninitialised variable in the SCSI_BUSY/SCSI_QUEUE_FULLJonathan Gray
paths of hvs_scsi_cmd_done(). ok mikeb@
2017-06-26Minor cleanup; when polling delay before calling the interrupt handlerMike Belopuhov
2017-06-26Rework the deferred interrupt loopMike Belopuhov
By performing a task_add an interrupt handler can rely on the taskq_thread to invoke it again with an additional benefit of being able to sched_pause when required. In the long run more than 99.8% of calls do not require an additional iteration.
2017-06-23Event interrupt handler should call hv_channel_schedule nowMike Belopuhov
2017-06-23Request deferred interrupt processingMike Belopuhov
2017-06-23Introduce deferred interrupt processing capabilityMike Belopuhov
Hyper-V interrupts seem to be sometimes delivered before the message becomes available on the channel ring. This is reproducible on hvs(4) under load. This change is modelled on the workaround found in the Linux driver.
2017-06-23s/membar_sync/virtio_membar_sync/Mike Belopuhov
2017-06-23Finish up minor changes in the output and clear the BATCHED channel flagMike Belopuhov
2017-06-22Add a hypervisor-specific function pointer in pvbus(4) that gets called duringJonathan Matthew
cpu_hatch() on each cpu, allowing initialization of per-cpu features on each cpu as it starts up. input from reyk@ and mikeb@ ok mikeb@
2017-06-21Don't confuse SCSI command status and transfer error code.Mike Belopuhov
While here, make SCSI command completion routine more robust.
2017-06-21Return early from NVS command submission if no response is requiredMike Belopuhov
2017-06-21Include the request id in the I/O debug outputMike Belopuhov
2017-06-15Don't defer attaching PV devicesMike Belopuhov
Now that both hvn(4) and hvs(4) can perform VMBus channel operations during autoconf, it's no longer necessary to defer their attachment.