- Timestamp:
- Sep 21, 2012 12:17:22 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r42999 r43397 279 279 /** Task state. */ 280 280 volatile AHCITXSTATE enmTxState; 281 /** Start timestamp of the request. */ 282 uint64_t tsStart; 281 283 /** Tag of the task. */ 282 284 uint32_t uTag; … … 5615 5617 bool fXchg = false; 5616 5618 bool fRedo = false; 5619 uint64_t tsNow = RTTimeMilliTS(); 5620 5621 /* 5622 * Leave a release log entry if the request was active for more than 25 seconds 5623 * (30 seconds is the timeout of the guest). 5624 */ 5625 if (tsNow - pAhciReq->tsStart >= 25 * 1000) 5626 { 5627 const char *pcszReq = NULL; 5628 5629 switch (pAhciReq->enmTxDir) 5630 { 5631 case AHCITXDIR_READ: 5632 pcszReq = "Read"; 5633 break; 5634 case AHCITXDIR_WRITE: 5635 pcszReq = "Write"; 5636 break; 5637 case AHCITXDIR_FLUSH: 5638 pcszReq = "Flush"; 5639 break; 5640 case AHCITXDIR_TRIM: 5641 pcszReq = "Trim"; 5642 break; 5643 default: 5644 pcszReq = "<Invalid>"; 5645 } 5646 5647 LogRel(("AHCI#%u: %s request was active for %llu seconds\n", 5648 pAhciPort->iLUN, pcszReq, (tsNow - pAhciReq->tsStart) / 1000)); 5649 } 5617 5650 5618 5651 ASMAtomicCmpXchgSize(&pAhciReq->enmTxState, AHCITXSTATE_FREE, AHCITXSTATE_ACTIVE, fXchg); … … 6220 6253 AssertMsg(fXchg, ("Task is already active\n")); 6221 6254 6255 pAhciReq->tsStart = RTTimeMilliTS(); 6222 6256 pAhciReq->uATARegStatus = 0; 6223 6257 pAhciReq->uATARegError = 0; … … 6403 6437 STAM_PROFILE_START(&pAhciPort->StatProfileProcessTime, a); 6404 6438 6439 pAhciReq->tsStart = RTTimeMilliTS(); 6405 6440 pAhciReq->uATARegStatus = 0; 6406 6441 pAhciReq->uATARegError = 0;
Note:
See TracChangeset
for help on using the changeset viewer.