Changeset 72587 in vbox for trunk/src/VBox
- Timestamp:
- Jun 17, 2018 5:44:13 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r70776 r72587 286 286 RCPTRTYPE(uint8_t *) pbIOBufferRC; 287 287 288 RTRCPTR Aligmnent1; /**< Align the statistics at an 8-byte boundary. */ 288 /** Counter for number of busy status seen in GC/R0 in a row. */ 289 uint32_t cBusyStatusHack; 289 290 290 291 /* … … 4452 4453 case 7: /* primary status */ 4453 4454 { 4454 /* Counter for number of busy status seen in GC in a row. */4455 static unsigned cBusy = 0;4456 4457 4455 if (!s->pDrvMedia) 4458 4456 val = 0; … … 4471 4469 { 4472 4470 #ifdef IN_RING3 4473 cBusy= 0;4471 s->cBusyStatusHack = 0; 4474 4472 ataR3LockLeave(pCtl); 4475 4473 4476 # ifndef RT_OS_WINDOWS4474 # ifndef RT_OS_WINDOWS 4477 4475 /* 4478 4476 * The thread might be stuck in an I/O operation … … 4498 4496 } 4499 4497 } 4500 # endif4498 # endif 4501 4499 4502 4500 RTThreadYield(); … … 4510 4508 * especially on SMP systems where we don't gain much by 4511 4509 * yielding the CPU to someone else. */ 4512 if (++ cBusy>= 20)4510 if (++s->cBusyStatusHack >= 20) 4513 4511 { 4514 cBusy= 0;4512 s->cBusyStatusHack = 0; 4515 4513 return VINF_IOM_R3_IOPORT_READ; 4516 4514 } … … 4518 4516 } 4519 4517 else 4520 cBusy= 0;4518 s->cBusyStatusHack = 0; 4521 4519 ataUnsetIRQ(s); 4522 4520 break;
Note:
See TracChangeset
for help on using the changeset viewer.