VirtualBox

Changeset 88665 in vbox for trunk/include


Ignore:
Timestamp:
Apr 22, 2021 11:42:24 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143979
Message:

VMM/PDM: Added PDMDrvHlpSTAMDeregisterByPrefix for speeding up statistics deregistration. PDMDrvHlpSTAMDeregister works by sample address and have to traverse the whole statistics tree for each call, whereas the ByPrefix just eliminates a sub-tree. (Speeded up drvAudioStreamUninitInternal by ~25ms in debug builds.) bugref:9890

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/include/VBox/vmm/pdmdrv.h

    r88373 r88665  
    13231323     * @{ */
    13241324    DECLR3CALLBACKMEMBER(int,  pfnTimerSetMillies,(PPDMDRVINS pDrvIns, TMTIMERHANDLE hTimer, uint64_t cMilliesToNext));
    1325     DECLR3CALLBACKMEMBER(void, pfnReserved1,(PPDMDRVINS pDrvIns));
     1325
     1326    /**
     1327     * Deregister zero or more samples given their name prefix.
     1328     *
     1329     * @returns VBox status code.
     1330     * @param   pDrvIns     The driver instance.
     1331     * @param   pszPrefix   The name prefix of the samples to remove.  If this does
     1332     *                      not start with a '/', the default prefix will be
     1333     *                      prepended, otherwise it will be used as-is.
     1334     */
     1335    DECLR3CALLBACKMEMBER(int, pfnSTAMDeregisterByPrefix,(PPDMDRVINS pDrvIns, const char *pszPrefix));
     1336
    13261337    DECLR3CALLBACKMEMBER(void, pfnReserved2,(PPDMDRVINS pDrvIns));
    13271338    DECLR3CALLBACKMEMBER(void, pfnReserved3,(PPDMDRVINS pDrvIns));
     
    13381349} PDMDRVHLPR3;
    13391350/** Current DRVHLP version number. */
    1340 #define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 5, 1)
     1351#define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 5, 2)
    13411352
    13421353#endif /* IN_RING3 */
     
    17321743
    17331744/**
     1745 * @copydoc PDMDEVHLPR3::pfnSTAMDeregisterByPrefix
     1746 */
     1747DECLINLINE(int) PDMDrvHlpSTAMDeregisterByPrefix(PPDMDRVINS pDrvIns, const char *pszPrefix)
     1748{
     1749    return pDrvIns->pHlpR3->pfnSTAMDeregisterByPrefix(pDrvIns, pszPrefix);
     1750}
     1751
     1752/**
    17341753 * @copydoc PDMDRVHLPR3::pfnSUPCallVMMR0Ex
    17351754 */
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