Age | Commit message (Collapse) | Author |
|
|
|
VIRTIO_F_RING_INDIRECT_DESC is always negotiated by the transport
driver, no need to specify it explicitly.
VIRTIO_BALLOON_F_MUST_TELL_HOST is not offered but is handled in the
code. Offer it during negotiation, too.
|
|
It accidentally contained a part of a different diff.
|
|
Also add some virtio 1.0 status and feature bits
|
|
|
|
And fix some comments
|
|
|
|
They are only used if VIRTIO_DEBUG is enabled.
This should make the kernel slightly smaller.
|
|
I falsely assumed that the KVM_FEATURE_CLOCKSOURCE_STABLE_BIT
indicates that the actual clock values are stable, but it turned out
that this isn't always the case. To detect if the clock value is
stable, we now read it once in pvclock_attach() and check for the
PVCLOCK_FLAG_TSC_STABLE flag. This needs further investigation.
Reported and fix tested by johnw.mail at gmail.com
OK chris@ phessler@
|
|
tested by brynet@
OK reyk@
|
|
This improves timekeeping on KVM guests as it runs much better than
the virtualized acpihpet or acpitimer timecounters and the invtsc is
not always available.
Many thanks to Janne Johansson, landry@, and benno@ for testing amd64/i386.
OK mlarkin@ phessler@
|
|
An example of such code path is vlan_destroy() where we don't want to
grab the lock because this driver is already NET_LOCK()-free.
The real solution to this problem is to stop holding the NET_LOCK() around
driver *_ioctl() routines.
Problem reported & fix tested by Ãlie Bouttier, ok visa@, bluhm@
|
|
OK deraadt@
|
|
Tested by Daniel Wade, <Daniel2 ! Wade at ge ! com>, thanks!
|
|
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@
|
|
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.
|
|
clone running guests and take disk-only snapshots, most of the time ending
up with a clean filesystem.
ok dlg@ deraadt@
|
|
Prevents a deadlock reported by aalm@
|
|
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@
|
|
Tested by Imre Oolberg, thanks!
|
|
|
|
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!
|
|
From canacar@, thanks!
|
|
|
|
instead of rolling its own now that it's been made available.
OK dlg
|
|
|
|
|
|
Coverity CID 1453343
|
|
Coverity CID 1453069; Severity: unlikely, not user-visible.
|
|
16 bytes long. This cannot happen. But it is good to silence the
uninitialized variable warning.
Coverity CID 1453104; Severity: Insignificant
OK mikeb@
|
|
the wrong variable (sc_tx_dmamaps[i] instead of sc_rx_dmamaps[i]).
Coverity CID 1452937; Severity: Minor
OK mikeb@
|
|
the device names of "9P Transport" and "mac80211 wlan" virtio devices.
Coverity CID 1453254; Severity: Insignificant
OK mikeb@
|
|
Coverity CID 1453317; Severity: unlikely, not user-visible.
|
|
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.
|
|
Coverity CID 1452864; Severity: unlikely, not user-visible.
|
|
Coverity CID 1452981; Severity: unlikely, not user-visible.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Attempting to unload the map before all chunks are done may lead
to unnecessary looping.
|
|
|
|
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.
|
|
This small change significantly improves performance under load and halves
the number of received interrupts.
|
|
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!
|
|
Requested by kettenis@.
|
|
|
|
|