|
|
Delays and busy-waits are synchronization primitives used to stop execution for a specified period of time.
Often, driver-hardware interaction will require the driver to busy-wait for a very short time so the hardware device can complete a transition to a sane state. This particular busy-wait requirement is especially necessary when interrupts are not available to notify drivers of device state transitions, typically during the driver's init(D2) and halt(D2) entry point routines.
Delays and busy waits can degrade system performance, especially on multiprocessor configurations. In most cases, it is better for the driver to block and release processor control than to use these functions. Timeouts may also be an alternative; see ``Timeouts''.
The following functions are provided for DDI drivers:
The following functions are provided for ODDI drivers: