Changeset 64016 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Sep 26, 2016 3:14:48 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 110932
- Location:
- trunk/src/VBox/Devices
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r64015 r64016 69 69 #else 70 70 # define VBOXDD_AHCI_REQ_SUBMIT(a,b,c,d) do { } while (0) 71 # define VBOXDD_AHCI_REQ_SUBMIT_TIMESTAMP(a,b) do { } while (0)72 71 # define VBOXDD_AHCI_REQ_COMPLETED(a,b,c,d) do { } while (0) 73 # define VBOXDD_AHCI_REQ_COMPLETED_TIMESTAMP(a,b) do { } while (0)74 72 #endif 75 73 … … 263 261 /** The I/O request handle from the driver below associated with this request. */ 264 262 PDMMEDIAEXIOREQ hIoReq; 265 /** Start timestamp of the request. */266 uint64_t tsStart;267 263 /** Tag of the task. */ 268 264 uint32_t uTag; … … 5900 5896 bool fRedo = false; 5901 5897 bool fCanceled = false; 5902 uint64_t tsNow = RTTimeMilliTS();5903 5898 5904 5899 LogFlowFunc(("pAhciPort=%p pAhciReq=%p rcReq=%d\n", … … 5906 5901 5907 5902 VBOXDD_AHCI_REQ_COMPLETED(pAhciReq, rcReq, pAhciReq->uOffset, pAhciReq->cbTransfer); 5908 VBOXDD_AHCI_REQ_COMPLETED_TIMESTAMP(pAhciReq, tsNow);5909 5903 5910 5904 /* … … 5915 5909 */ 5916 5910 bool fReqErrSaved = false; 5917 5918 /*5919 * Leave a release log entry if the request was active for more than 25 seconds5920 * (30 seconds is the timeout of the guest).5921 */5922 if (tsNow - pAhciReq->tsStart >= 25 * 1000)5923 {5924 const char *pcszReq = NULL;5925 5926 switch (pAhciReq->enmType)5927 {5928 case PDMMEDIAEXIOREQTYPE_READ:5929 pcszReq = "Read";5930 break;5931 case PDMMEDIAEXIOREQTYPE_WRITE:5932 pcszReq = "Write";5933 break;5934 case PDMMEDIAEXIOREQTYPE_FLUSH:5935 pcszReq = "Flush";5936 break;5937 case PDMMEDIAEXIOREQTYPE_DISCARD:5938 pcszReq = "Trim";5939 break;5940 default:5941 pcszReq = "<Invalid>";5942 }5943 5944 LogRel(("AHCI#%uP%u: %s request was active for %llu seconds\n",5945 pAhciPort->CTX_SUFF(pDevIns)->iInstance, pAhciPort->iLUN, pcszReq, (tsNow - pAhciReq->tsStart) / 1000));5946 }5947 5911 5948 5912 if (rcReq != VERR_PDM_MEDIAEX_IOREQ_CANCELED) … … 6556 6520 6557 6521 VBOXDD_AHCI_REQ_SUBMIT(pAhciReq, pAhciReq->enmType, pAhciReq->uOffset, pAhciReq->cbTransfer); 6558 VBOXDD_AHCI_REQ_SUBMIT_TIMESTAMP(pAhciReq, pAhciReq->tsStart);6559 6522 6560 6523 if (enmType == PDMMEDIAEXIOREQTYPE_FLUSH) … … 6606 6569 static bool ahciR3CmdPrepare(PAHCIPort pAhciPort, PAHCIREQ pAhciReq) 6607 6570 { 6608 pAhciReq->tsStart = RTTimeMilliTS();6609 6610 6571 /* Set current command slot */ 6611 6572 ASMAtomicWriteU32(&pAhciPort->u32CurrentCommandSlot, pAhciReq->uTag); -
trunk/src/VBox/Devices/build/VBoxDD.d
r64009 r64016 24 24 25 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 26 probe ahci__req__completed(void *pvReq, int rcReq, uint64_t offStart, uint32_t cbXfer); 28 probe ahci__req__completed__timestamp(void *pvReq, uint64_t tsEnd);29 27 }; 30 28
Note:
See TracChangeset
for help on using the changeset viewer.