VirtualBox

Changeset 84468 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
May 23, 2020 7:17:02 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
138183
Message:

Network/DevVirtioNet_1.0.cpp: Removed force interrupt flag from API and calls since it is no longer a necessary workardound option due to fixing how avail ring flags are read.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevVirtioNet_1_0.cpp

    r84430 r84468  
    16001600                  rc);
    16011601
    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));
    16101603
    16111604    return VINF_SUCCESS;
     
    20632056
    20642057    virtioCoreR3QueuePut(pDevIns, &pThis->Virtio, CTRLQIDX, pReturnSegBuf, pDescChain, true);
    2065     virtioCoreQueueSync(pDevIns, &pThis->Virtio, CTRLQIDX, false);
     2058    virtioCoreQueueSync(pDevIns, &pThis->Virtio, CTRLQIDX);
    20662059
    20672060    for (int i = 0; i < cSegs; i++)
     
    23212314
    23222315            /* 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);
    23242317        }
    23252318
     
    27642757
    27652758    LEAVE_CRITICAL_SECTION;
    2766     AssertRelease(!pThisCC->pDrvBase);
    27672759    return rc;
    27682760}
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette