VirtualBox

Changeset 44138 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Dec 15, 2012 2:31:17 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
82751
Message:

AHCI: Add dtrace probes

Location:
trunk/src/VBox/Devices
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevAHCI.cpp

    r43626 r44138  
    5858#include "ATAPIPassthrough.h"
    5959#include "VBoxDD.h"
     60
     61#if   defined(VBOX_WITH_DTRACE) \
     62   && defined(IN_RING3) \
     63   && !defined(VBOX_DEVICE_STRUCT_TESTCASE)
     64# include "dtrace/VBoxDD.h"
     65#else
     66# define VBOXDD_AHCI_REQ_SUBMIT(a,b,c,d)           do { } while (0)
     67# define VBOXDD_AHCI_REQ_SUBMIT_TIMESTAMP(a,b)     do { } while (0)
     68# define VBOXDD_AHCI_REQ_COMPLETED(a,b,c,d,e)      do { } while (0)
     69# define VBOXDD_AHCI_REQ_COMPLETED_TIMESTAMP(a,b)  do { } while (0)
     70#endif
    6071
    6172/** Maximum number of ports available.
     
    56175628    bool fCanceled = false;
    56185629    uint64_t tsNow = RTTimeMilliTS();
     5630    AHCITXDIR enmTxDir = AHCITXDIR_NONE;
     5631
     5632    ASMAtomicReadSize(&pAhciReq->enmTxState, &enmTxDir);
     5633    VBOXDD_AHCI_REQ_COMPLETED(pAhciReq, rcReq, enmTxDir, pAhciReq->uOffset, pAhciReq->cbTransfer);
     5634    VBOXDD_AHCI_REQ_COMPLETED_TIMESTAMP(pAhciReq, tsNow);
    56195635
    56205636    /*
     
    63236339                    if (!(pAhciReq->fFlags & AHCI_REQ_OVERFLOW))
    63246340                    {
     6341                        VBOXDD_AHCI_REQ_SUBMIT(pAhciReq, enmTxDir, pAhciReq->uOffset, pAhciReq->cbTransfer);
     6342                        VBOXDD_AHCI_REQ_SUBMIT_TIMESTAMP(pAhciReq, pAhciReq->tsStart);
    63256343                        if (enmTxDir == AHCITXDIR_FLUSH)
    63266344                        {
  • trunk/src/VBox/Devices/build/VBoxDD.d

    r40517 r44138  
    2222    probe hgcmcall__completed__emt(void *pvCmd, int rc);
    2323    probe hgcmcall__completed__done(void *pvCmd, unsigned int idFunction, unsigned int idClient, int rc);
     24
     25    probe ahci__req__submit(void *pvReq, int iTxDir, uint64_t offStart, uint32_t cbXfer);
     26    probe ahci__req__submit__timestamp(void *pvReq, uint64_t tsStart);
     27    probe ahci__req__completed(void *pvReq, int rcReq, int iState, uint64_t offStart, uint32_t cbXfer);
     28    probe ahci__req__completed__timestamp(void *pvReq, uint64_t tsEnd);
    2429};
    2530
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