VirtualBox

Changeset 31360 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Aug 4, 2010 3:34:27 PM (15 years ago)
Author:
vboxsync
Message:

Temporarily backed out 64410

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/VMMAll.cpp

    r31359 r31360  
    6161        return 0;
    6262
     63    /* Search first by host cpu id (most common case)
     64     * and then by native thread id (page fusion case).
     65     */
     66    /* RTMpCpuId had better be cheap. */
     67    RTCPUID idHostCpu = RTMpCpuId();
     68
     69    /** @todo optimize for large number of VCPUs when that becomes more common. */
     70    for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
     71    {
     72        PVMCPU pVCpu = &pVM->aCpus[idCpu];
     73
     74        if (pVCpu->idHostCpu == idHostCpu)
     75            return pVCpu->idCpu;
     76    }
     77
    6378    /* RTThreadGetNativeSelf had better be cheap. */
    6479    RTNATIVETHREAD hThread = RTThreadNativeSelf();
     
    6984        PVMCPU pVCpu = &pVM->aCpus[idCpu];
    7085
    71         if (pVCpu->hNativeThreadR0 == hThread)
     86        if (pVCpu->hNativeThread == hThread)
    7287            return pVCpu->idCpu;
    7388    }
     
    100115        return &pVM->aCpus[0];
    101116
     117    /* Search first by host cpu id (most common case)
     118     * and then by native thread id (page fusion case).
     119     */
     120
     121    /* RTMpCpuId had better be cheap. */
     122    RTCPUID idHostCpu = RTMpCpuId();
     123
     124    /** @todo optimize for large number of VCPUs when that becomes more common. */
     125    for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
     126    {
     127        PVMCPU pVCpu = &pVM->aCpus[idCpu];
     128
     129        if (pVCpu->idHostCpu == idHostCpu)
     130            return pVCpu;
     131    }
     132
    102133    /* RTThreadGetNativeSelf had better be cheap. */
    103134    RTNATIVETHREAD hThread = RTThreadNativeSelf();
     
    108139        PVMCPU pVCpu = &pVM->aCpus[idCpu];
    109140
    110         if (pVCpu->hNativeThreadR0 == hThread)
     141        if (pVCpu->hNativeThread == hThread)
    111142            return pVCpu;
    112143    }
Note: See TracChangeset for help on using the changeset viewer.

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