#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
270334 |
|
22-Aug-2014 |
bryanv |
MFC r268481:
Rework when the Tx queue completion interrupt is enabled
The Tx interrupt is now kept disabled in the common case, only enabled when the number of free descriptors in the queue falls below a threshold. Transmitted frames are cleared from the VQ before subsequent transmit, or in the watchdog timer.
This was a very big performance improvement for an experimental Netmap bhyve backend.
|
#
268010 |
|
28-Jun-2014 |
bryanv |
MFC r267520, r267521, r267522, r267523, r267524:
- Remove two write-only local variables - Remove unused element in the vtnet_rxq structure - Remove kernel specific macro out of the VirtIO PCI header file - Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h - Make the feature negotiation code easier to follow - Force two byte alignment for all control message headers
|
#
265286 |
|
03-May-2014 |
bryanv |
MFC r261150, r261151, r261164, r261166, r261167, r261168, r261394, r261395:
- Read and write the MAC address in the config space byte by byte - Also include the mbuf's csum_flags in an assert message - Remove stray space - Move duplicated transmit start code into a single function - Avoid queue unlock followed by relock when the enable interrupt race is lost - Check for a full virtqueue in the multiqueue transmit path - Do not place the sglist used for Rx/Tx on the stack - Use m_defrag() instead of m_collapse() to compact a long mbuf chain
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
255167 |
|
03-Sep-2013 |
bryanv |
Complete any pending Tx frames before attempting the next transmit
Also complete pending frames in the watchdog function when the EVENT_IDX feature was negotiated just in case the completion interrupt was postponed.
|
#
255112 |
|
01-Sep-2013 |
bryanv |
Import multiqueue VirtIO net driver from my user/bryanv/vtnetmq branch
This is a significant rewrite of much of the previous driver; lots of misc. cleanup was also performed, and support for a few other minor features was also added.
|
#
252707 |
|
04-Jul-2013 |
bryanv |
Merge virtio changes from projects/virtio
Contains projects/virtio commits:
r245738: virtio: Minor man page tweaks r246060: virtio: Cleanup feature description printing r246306: virtio: Remove old debugging flag r247238: virtio: Remove PRIx64 macros from format strings r247239: virtio: Constify some fields r247240: virtio: Minor code simplifications r249962: virtio: Update to my freebsd.org email address
MFC after: 1 month
|
#
252702 |
|
04-Jul-2013 |
bryanv |
Convert VirtIO to use ithreads instead of taskqueues
Contains projects/virtio commits:
r245709: Each VirtIO device was scheduling its own taskqueue(9) to do the off-level interrupt handling. ithreads(9) is the more nature way to do this. The primary motivation for this work to better support network multiqueue. r245710: virtio: Change virtqueue intr handlers to return void r245711: virtio_blk: Remove interrupt taskqueue r245721: vtnet: Remove interrupt taskqueue r245722: virtio_scsi: Remove interrupt taskqueue r245747: vtnet: Remove taskqueue fields missed in r245721
MFC after: 1 month
|
#
228301 |
|
06-Dec-2011 |
grehan |
Catch up with Bryan Venteicher's virtio Hg repo:
c162516 Remove vtblk_sector_size
c162515 Wrap long license lines
c162514 Remove vtblk_unit
c162513 Wrap long lines in the license.
c162512 Remove verbose messages when link goes up/down.
A similar message is printed elsewhere as a result of if_link_state_change().
c162511 Explicity compare pointer to NULL
c162510 Allocate the mac filter table at attach time.
c162509 Add real BSD licenses to the header files copied from Linux.
The chases upstream changes made in Linux awhile ago.
c162508 Only notify if we actually dequeued something.
c162507 Change a couple of if () { KASSERT(...) } to just KASSERTs.
In non-debug kernels, the if() { } probably get optomized away, but I guess this is clearer.
c162506 Remove VIRTIO_BLK_F_TOPOLOGY fields in the config.
TOPOLOGY has since been removed from the spec, and the FreeBSD didn't really do anything with the fields anyways.
c162505 Move vtblk_enqueue_request() outside the locks when getting the ident.
c162504 Remove soon to be uneeded trylock during dump [1]. http://lists.freebsd.org/pipermail/freebsd-current/2011-November/029226.html
c162503 Remove emtpy line
c162502 Drop frame if cannot allocate a vtnet_tx_header.
If we don't, we set OACTIVE, but if there are no other frames in flight, vtnet_txeof() will never be called to unset OACTIVE. The interface would have to be down/up'ed in order to become usable.
We could be cuter here and only do this if the virtqueue is emtpy, but its probably not worth the complication.
c162501 Start mbuf replacement loop at 1 for clarity
Obtained from: Bryan Venteicher bryanv at daemoninthecloset dot org
|
#
227652 |
|
18-Nov-2011 |
grehan |
Import virtio base, PCI front-end, and net/block/balloon drivers. Tested on Qemu/KVM, VirtualBox, and BHyVe.
Currently built as modules-only on i386/amd64. Man pages not yet hooked up, pending review.
Submitted by: Bryan Venteicher bryanv at daemoninthecloset dot org Reviewed by: bz MFC after: 4 weeks or so
|