VirtualBox

Changeset 718 in vbox


Ignore:
Timestamp:
Feb 6, 2007 4:38:46 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
18360
Message:

Update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevPCNet.cpp

    r703 r718  
    225225    PDMCRITSECT                         CritSect;
    226226
     227    /** Pending send packet counter. */
     228    uint32_t                            cPendingSends;
     229
    227230#ifdef PCNET_NO_POLLING
    228231    RTGCPHYS                            TDRAPhysOld;
     
    263266    STAMPROFILEADV                      StatRdtePollHC;
    264267    STAMCOUNTER                         aStatXmitChainCounts[8];
     268    STAMCOUNTER                         StatXmitSkipCurrent;
    265269    STAMPROFILEADV                      StatInterrupt;
    266270    STAMPROFILEADV                      StatPollTimer;
     
    17871791    NOREF(pItem);
    17881792
     1793    /* Clear counter .*/
     1794    ASMAtomicAndU32(&pData->cPendingSends, 0);
    17891795    int rc = RTSemEventSignal(pData->hSendEventSem);
    17901796    AssertRC(rc);
     
    19311937    pcnetXmitFlushFrames(pData);
    19321938#else
     1939
     1940#if 1
    19331941    PPDMQUEUEITEMCORE pItem = PDMQueueAlloc(CTXSUFF(pData->pXmitQueue));
    1934     if (RT_LIKELY(pItem))
     1942    if (RT_UNLIKELY(pItem))
    19351943        PDMQueueInsert(CTXSUFF(pData->pXmitQueue), pItem);
     1944#else
     1945    if (ASMAtomicIncU32(&pData->cPendingSends) < 16)
     1946    {
     1947        PPDMQUEUEITEMCORE pItem = PDMQueueAlloc(CTXSUFF(pData->pXmitQueue));
     1948        if (RT_UNLIKELY(pItem))
     1949            PDMQueueInsert(CTXSUFF(pData->pXmitQueue), pItem);
     1950    }
     1951    else
     1952        PDMQueueFlush(CTXSUFF(pData->pXmitQueue));
     1953#endif
    19361954#endif
    19371955}
     
    41504168        PDMDevHlpSTAMRegisterF(pDevIns, &pData->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "",                                  "/Devices/PCNet%d/XmitChainCounts/%d", iInstance, i + 1);
    41514169    PDMDevHlpSTAMRegisterF(pDevIns, &pData->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES,    "",                                   "/Devices/PCNet%d/XmitChainCounts/%d+", iInstance, i + 1);
     4170    PDMDevHlpSTAMRegisterF(pDevIns, &pData->StatXmitSkipCurrent,    STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES,    "",                                    "/Devices/PCNet%d/Xmit/Skipped", iInstance, i + 1);
     4171   
    41524172    PDMDevHlpSTAMRegisterF(pDevIns, &pData->StatInterrupt,          STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCNet interrupt checks",   "/Devices/PCNet%d/Interrupt", iInstance);
    41534173    PDMDevHlpSTAMRegisterF(pDevIns, &pData->StatPollTimer,          STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCNet poll timer",         "/Devices/PCNet%d/PollTimer", iInstance);
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