Changeset 84468 in vbox for trunk/src/VBox/Devices/Network
- Timestamp:
- May 23, 2020 7:17:02 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 138183
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DevVirtioNet_1_0.cpp
r84430 r84468 1600 1600 rc); 1601 1601 1602 /** @todo WHY *must* we *force* notifying guest that we filled its Rx buffer(s)? 1603 * If we don't notify the guest, it doesn't detect it and stalls, even though 1604 * guest is responsible for setting the used-ring flag in the Rx queue that tells 1605 * us to skip the notification interrupt! Obviously forcing the interrupt is 1606 * non-optimal performance-wise and seems to contradict the Virtio spec. 1607 * Is that a bug in the linux virtio_net.c driver? */ 1608 1609 virtioCoreQueueSync(pDevIns, &pThis->Virtio, RXQIDX(idxRxQueue), /* fForce */ true); 1602 virtioCoreQueueSync(pDevIns, &pThis->Virtio, RXQIDX(idxRxQueue)); 1610 1603 1611 1604 return VINF_SUCCESS; … … 2063 2056 2064 2057 virtioCoreR3QueuePut(pDevIns, &pThis->Virtio, CTRLQIDX, pReturnSegBuf, pDescChain, true); 2065 virtioCoreQueueSync(pDevIns, &pThis->Virtio, CTRLQIDX , false);2058 virtioCoreQueueSync(pDevIns, &pThis->Virtio, CTRLQIDX); 2066 2059 2067 2060 for (int i = 0; i < cSegs; i++) … … 2321 2314 2322 2315 /* Update used ring idx and notify guest that we've transmitted the data it sent */ 2323 virtioCoreQueueSync(pVirtio->pDevInsR3, pVirtio, idxTxQueue , false);2316 virtioCoreQueueSync(pVirtio->pDevInsR3, pVirtio, idxTxQueue); 2324 2317 } 2325 2318 … … 2764 2757 2765 2758 LEAVE_CRITICAL_SECTION; 2766 AssertRelease(!pThisCC->pDrvBase);2767 2759 return rc; 2768 2760 }
Note:
See TracChangeset
for help on using the changeset viewer.