]> xenbits.xensource.com Git - people/pauldu/xenvif.git/commitdiff
Revert commit 03dd4642 "Avoid transmitting on the wrong CPU"
authorPaul Durrant <paul.durrant@citrix.com>
Mon, 15 Aug 2016 13:24:00 +0000 (14:24 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Tue, 16 Aug 2016 09:07:36 +0000 (10:07 +0100)
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>
src/xenvif/transmitter.c

index b55daa3d5f48d58706b6d2f966f362b8d6e1dc7a..084ca76ca861ec2786472517ff6aaca97b3ac2d9 100644 (file)
@@ -4008,9 +4008,7 @@ __TransmitterRingQueuePacket(
     // 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);
 }