VirtualBox

Changeset 67991 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jul 17, 2017 12:29:09 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
117000
Message:

GVMMR0*Statistics*: Pass GVM along with pVM when we got one.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp

    r67990 r67991  
    28012801 * @param   pStats      Where to put the statistics.
    28022802 * @param   pSession    The current session.
    2803  * @param   pVM         The VM to obtain statistics for. Optional.
    2804  */
    2805 GVMMR0DECL(int) GVMMR0QueryStatistics(PGVMMSTATS pStats, PSUPDRVSESSION pSession, PVM pVM)
    2806 {
    2807     LogFlow(("GVMMR0QueryStatistics: pStats=%p pSession=%p pVM=%p\n", pStats, pSession, pVM));
     2803 * @param   pGVM        The GVM to obtain statistics for. Optional.
     2804 * @param   pVM         The VM structure corresponding to @a pGVM.
     2805 */
     2806GVMMR0DECL(int) GVMMR0QueryStatistics(PGVMMSTATS pStats, PSUPDRVSESSION pSession, PGVM pGVM, PVM pVM)
     2807{
     2808    LogFlow(("GVMMR0QueryStatistics: pStats=%p pSession=%p pGVM=%p pVM=%p\n", pStats, pSession, pGVM, pVM));
    28082809
    28092810    /*
     
    28182819     */
    28192820    PGVMM pGVMM;
    2820     if (pVM)
    2821     {
    2822         PGVM pGVM;
    2823         int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, true /*fTakeUsedLock*/);
     2821    if (pGVM)
     2822    {
     2823        int rc = gvmmR0ByGVMandVM(pGVM, pVM, &pGVMM, true /*fTakeUsedLock*/);
    28242824        if (RT_FAILURE(rc))
    28252825            return rc;
     
    29142914 *
    29152915 * @returns see GVMMR0QueryStatistics.
     2916 * @param   pGVM            The global (ring-0) VM structure. Optional.
    29162917 * @param   pVM             The cross context VM structure. Optional.
    29172918 * @param   pReq            Pointer to the request packet.
    29182919 * @param   pSession        The current session.
    29192920 */
    2920 GVMMR0DECL(int) GVMMR0QueryStatisticsReq(PVM pVM, PGVMMQUERYSTATISTICSSREQ pReq, PSUPDRVSESSION pSession)
     2921GVMMR0DECL(int) GVMMR0QueryStatisticsReq(PGVM pGVM, PVM pVM, PGVMMQUERYSTATISTICSSREQ pReq, PSUPDRVSESSION pSession)
    29212922{
    29222923    /*
     
    29272928    AssertReturn(pReq->pSession == pSession, VERR_INVALID_PARAMETER);
    29282929
    2929     return GVMMR0QueryStatistics(&pReq->Stats, pSession, pVM);
     2930    return GVMMR0QueryStatistics(&pReq->Stats, pSession, pGVM, pVM);
    29302931}
    29312932
     
    29382939 * @param   pStats      Which statistics to reset, that is, non-zero fields indicates which to reset.
    29392940 * @param   pSession    The current session.
    2940  * @param   pVM         The VM to reset statistics for. Optional.
    2941  */
    2942 GVMMR0DECL(int) GVMMR0ResetStatistics(PCGVMMSTATS pStats, PSUPDRVSESSION pSession, PVM pVM)
    2943 {
    2944     LogFlow(("GVMMR0ResetStatistics: pStats=%p pSession=%p pVM=%p\n", pStats, pSession, pVM));
     2941 * @param   pGVM        The GVM to reset statistics for. Optional.
     2942 * @param   pVM         The VM structure corresponding to @a pGVM.
     2943 */
     2944GVMMR0DECL(int) GVMMR0ResetStatistics(PCGVMMSTATS pStats, PSUPDRVSESSION pSession, PGVM pGVM, PVM pVM)
     2945{
     2946    LogFlow(("GVMMR0ResetStatistics: pStats=%p pSession=%p pGVM=%p pVM=%p\n", pStats, pSession, pGVM, pVM));
    29452947
    29462948    /*
     
    29542956     */
    29552957    PGVMM pGVMM;
    2956     if (pVM)
    2957     {
    2958         PGVM pGVM;
    2959         int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, true /*fTakeUsedLock*/);
     2958    if (pGVM)
     2959    {
     2960        int rc = gvmmR0ByGVMandVM(pGVM, pVM, &pGVMM, true /*fTakeUsedLock*/);
    29602961        if (RT_FAILURE(rc))
    29612962            return rc;
     
    30313032 *
    30323033 * @returns see GVMMR0ResetStatistics.
     3034 * @param   pGVM            The global (ring-0) VM structure. Optional.
    30333035 * @param   pVM             The cross context VM structure. Optional.
    30343036 * @param   pReq            Pointer to the request packet.
    30353037 * @param   pSession        The current session.
    30363038 */
    3037 GVMMR0DECL(int) GVMMR0ResetStatisticsReq(PVM pVM, PGVMMRESETSTATISTICSSREQ pReq, PSUPDRVSESSION pSession)
     3039GVMMR0DECL(int) GVMMR0ResetStatisticsReq(PGVM pGVM, PVM pVM, PGVMMRESETSTATISTICSSREQ pReq, PSUPDRVSESSION pSession)
    30383040{
    30393041    /*
     
    30443046    AssertReturn(pReq->pSession == pSession, VERR_INVALID_PARAMETER);
    30453047
    3046     return GVMMR0ResetStatistics(&pReq->Stats, pSession, pVM);
    3047 }
    3048 
     3048    return GVMMR0ResetStatistics(&pReq->Stats, pSession, pGVM, pVM);
     3049}
     3050
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r67990 r67991  
    14921492            if (u64Arg)
    14931493                return VERR_INVALID_PARAMETER;
    1494             rc = GVMMR0QueryStatisticsReq(pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr, pSession);
     1494            rc = GVMMR0QueryStatisticsReq(pGVM, pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr, pSession);
    14951495            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    14961496            break;
     
    14991499            if (u64Arg)
    15001500                return VERR_INVALID_PARAMETER;
    1501             rc = GVMMR0ResetStatisticsReq(pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr, pSession);
     1501            rc = GVMMR0ResetStatisticsReq(pGVM, pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr, pSession);
    15021502            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    15031503            break;
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