VirtualBox

Changeset 100371 in vbox for trunk/src/VBox/Devices/Storage


Ignore:
Timestamp:
Jul 5, 2023 7:47:33 AM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158108
Message:

Devices/VirtIO,DevVirtioNet,DevVirtioSCSI: Get rid of VIRTIO_VBUF_ON_STACK which is the default for quite some time now to make the code more straight forward, bugref:10459

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevVirtioSCSI.cpp

    r99739 r100371  
    16481648             for (int i = 0; i < pWorkerR3->cRedoDescs; i++)
    16491649             {
    1650 #ifdef VIRTIO_VBUF_ON_STACK
    16511650                PVIRTQBUF pVirtqBuf = virtioCoreR3VirtqBufAlloc();
    16521651                if (!pVirtqBuf)
     
    16571656                int rc = virtioCoreR3VirtqAvailBufGet(pDevIns, &pThis->Virtio, uVirtqNbr,
    16581657                                                    pWorkerR3->auRedoDescs[i], pVirtqBuf);
    1659 #else /* !VIRTIO_VBUF_ON_STACK */
    1660                   PVIRTQBUF pVirtqBuf;
    1661                   int rc = virtioCoreR3VirtqAvailBufGet(pDevIns, &pThis->Virtio, uVirtqNbr,
    1662                                                         pWorkerR3->auRedoDescs[i], &pVirtqBuf);
    1663 #endif /* !VIRTIO_VBUF_ON_STACK */
    1664                   if (RT_FAILURE(rc))
    1665                       LogRel(("Error fetching desc chain to redo, %Rrc", rc));
    1666 
    1667                   rc = virtioScsiR3ReqSubmit(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
    1668                   if (RT_FAILURE(rc))
    1669                       LogRel(("Error submitting req packet, resetting %Rrc", rc));
     1658                if (RT_FAILURE(rc))
     1659                    LogRel(("Error fetching desc chain to redo, %Rrc", rc));
     1660
     1661                rc = virtioScsiR3ReqSubmit(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
     1662                if (RT_FAILURE(rc))
     1663                    LogRel(("Error submitting req packet, resetting %Rrc", rc));
    16701664
    16711665                  virtioCoreR3VirtqBufRelease(&pThis->Virtio, pVirtqBuf);
     
    16741668
    16751669             Log6Func(("fetching next descriptor chain from %s\n", VIRTQNAME(uVirtqNbr)));
    1676 #ifdef VIRTIO_VBUF_ON_STACK
    16771670            PVIRTQBUF pVirtqBuf = virtioCoreR3VirtqBufAlloc();
    16781671            if (!pVirtqBuf)
     
    16801673            else
    16811674            {
    1682              int rc = virtioCoreR3VirtqAvailBufGet(pDevIns, &pThis->Virtio, uVirtqNbr, pVirtqBuf, true);
    1683 #else /* !VIRTIO_VBUF_ON_STACK */
    1684              PVIRTQBUF pVirtqBuf = NULL;
    1685              int rc = virtioCoreR3VirtqAvailBufGet(pDevIns, &pThis->Virtio, uVirtqNbr, &pVirtqBuf, true);
    1686 #endif /* !VIRTIO_VBUF_ON_STACK */
    1687              if (rc == VERR_NOT_AVAILABLE)
    1688              {
    1689                  Log6Func(("Nothing found in %s\n", VIRTQNAME(uVirtqNbr)));
    1690                  virtioCoreR3VirtqBufRelease(&pThis->Virtio, pVirtqBuf);
    1691                  continue;
    1692              }
    1693 
    1694              AssertRC(rc);
    1695              if (uVirtqNbr == CONTROLQ_IDX)
    1696                  virtioScsiR3Ctrl(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
    1697              else /* request queue index */
    1698              {
    1699                  rc = virtioScsiR3ReqSubmit(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
    1700                  if (RT_FAILURE(rc))
    1701                      LogRel(("Error submitting req packet, resetting %Rrc", rc));
    1702              }
    1703 
    1704              virtioCoreR3VirtqBufRelease(&pThis->Virtio, pVirtqBuf);
    1705 #ifdef VIRTIO_VBUF_ON_STACK
     1675                int rc = virtioCoreR3VirtqAvailBufGet(pDevIns, &pThis->Virtio, uVirtqNbr, pVirtqBuf, true);
     1676                if (rc == VERR_NOT_AVAILABLE)
     1677                {
     1678                    Log6Func(("Nothing found in %s\n", VIRTQNAME(uVirtqNbr)));
     1679                    virtioCoreR3VirtqBufRelease(&pThis->Virtio, pVirtqBuf);
     1680                    continue;
     1681                }
     1682
     1683                AssertRC(rc);
     1684                if (uVirtqNbr == CONTROLQ_IDX)
     1685                    virtioScsiR3Ctrl(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
     1686                else /* request queue index */
     1687                {
     1688                    rc = virtioScsiR3ReqSubmit(pDevIns, pThis, pThisCC, uVirtqNbr, pVirtqBuf);
     1689                    if (RT_FAILURE(rc))
     1690                        LogRel(("Error submitting req packet, resetting %Rrc", rc));
     1691                }
     1692
     1693                virtioCoreR3VirtqBufRelease(&pThis->Virtio, pVirtqBuf);
    17061694            }
    1707 #endif /* VIRTIO_VBUF_ON_STACK */
    17081695        }
    17091696    }
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