VirtualBox

Changeset 75500 in vbox for trunk/src/VBox/Main/src-client


Ignore:
Timestamp:
Nov 16, 2018 1:24:39 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
126657
Message:

VMMDev,Main,HostServices: More profiling of HGCM guest call processing.

Location:
trunk/src/VBox/Main/src-client
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/HGCM.cpp

    r75498 r75500  
    191191
    192192        int GuestCall(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmd, uint32_t u32ClientId,
    193                       uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM aParms[]);
     193                      uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM aParms[], uint64_t tsArrival);
    194194};
    195195
     
    448448
    449449        VBOXHGCMSVCPARM *paParms;
     450
     451        /** The STAM_GET_TS() value when the request arrived. */
     452        uint64_t tsArrival;
    450453};
    451454
     
    637640                    pSvc->m_fntable.pfnCall(pSvc->m_fntable.pvService, (VBOXHGCMCALLHANDLE)pMsg, pMsg->u32ClientId,
    638641                                            HGCM_CLIENT_DATA(pSvc, pClient), pMsg->u32Function,
    639                                             pMsg->cParms, pMsg->paParms);
     642                                            pMsg->cParms, pMsg->paParms, pMsg->tsArrival);
    640643
    641644                    hgcmObjDereference(pClient);
     
    16621665 * @param cParms         Number of parameters.
    16631666 * @param paParms        Pointer to array of parameters.
     1667 * @param tsArrival      The STAM_GET_TS() value when the request arrived.
    16641668 * @return VBox rc.
    16651669 */
    16661670int HGCMService::GuestCall(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmd, uint32_t u32ClientId, uint32_t u32Function,
    1667                            uint32_t cParms, VBOXHGCMSVCPARM paParms[])
     1671                           uint32_t cParms, VBOXHGCMSVCPARM paParms[], uint64_t tsArrival)
    16681672{
    16691673    HGCMMSGHANDLE hMsg = 0;
     
    16861690        pMsg->cParms      = cParms;
    16871691        pMsg->paParms     = paParms;
     1692        pMsg->tsArrival   = tsArrival;
    16881693
    16891694        hgcmObjDereference(pMsg);
     
    24622467 * @param cParms         Number of parameters.
    24632468 * @param paParms        Pointer to array of parameters.
     2469 * @param tsArrival      The STAM_GET_TS() value when the request arrived.
    24642470 * @return VBox rc.
    24652471 */
     
    24692475                  uint32_t u32Function,
    24702476                  uint32_t cParms,
    2471                   VBOXHGCMSVCPARM *paParms)
     2477                  VBOXHGCMSVCPARM *paParms,
     2478                  uint64_t tsArrival)
    24722479{
    24732480    LogFlowFunc(("pHGCMPort = %p, pCmd = %p, u32ClientId = %d, u32Function = %d, cParms = %d, paParms = %p\n",
     
    24892496
    24902497        /* Forward the message to the service thread. */
    2491         rc = pClient->pService->GuestCall(pHGCMPort, pCmd, u32ClientId, u32Function, cParms, paParms);
     2498        rc = pClient->pService->GuestCall(pHGCMPort, pCmd, u32ClientId, u32Function, cParms, paParms, tsArrival);
    24922499
    24932500        hgcmObjDereference(pClient);
  • trunk/src/VBox/Main/src-client/VMMDevInterface.cpp

    r75495 r75500  
    642642
    643643static DECLCALLBACK(int) iface_hgcmCall(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCMCMD pCmd, uint32_t u32ClientID,
    644                                         uint32_t u32Function, uint32_t cParms, PVBOXHGCMSVCPARM paParms)
     644                                        uint32_t u32Function, uint32_t cParms, PVBOXHGCMSVCPARM paParms, uint64_t tsArrival)
    645645{
    646646    Log9(("Enter\n"));
     
    651651        return VERR_INVALID_STATE;
    652652
    653     return HGCMGuestCall(pDrv->pHGCMPort, pCmd, u32ClientID, u32Function, cParms, paParms);
     653    return HGCMGuestCall(pDrv->pHGCMPort, pCmd, u32ClientID, u32Function, cParms, paParms, tsArrival);
    654654}
    655655
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