It severely impacts performance. The latency of waking up a different CPU
more than defeats the cost of one CPU blocking waiting on another.
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
// grab it then that's ok because whichever thread is holding it will have to call
// __TransmitterRingReleaseLock() and will therefore drain the atomic packet list.
- if (Ring->Index != KeGetCurrentProcessorNumberEx(NULL))
- KeInsertQueueDpc(&Ring->Dpc, NULL, NULL);
- else if (__TransmitterRingTryAcquireLock(Ring))
+ if (__TransmitterRingTryAcquireLock(Ring))
__TransmitterRingReleaseLock(Ring);
}