]> xenbits.xensource.com Git - people/pauldu/xenvif.git/commitdiff
Log how many packets are aborted
authorPaul Durrant <paul.durrant@citrix.com>
Wed, 2 Nov 2016 12:02:37 +0000 (12:02 +0000)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 2 Nov 2016 12:02:37 +0000 (12:02 +0000)
When the transmitter rings are shut down, packets in the queues are
aborted. This patch adds a log line saying how many packets were
aborted in each queue.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
src/xenvif/transmitter.c

index 82ef27107508b1a503b7240284ee2125c194165d..e4e3c31084999ebc6b222fae83f9306c1c17537b 100644 (file)
@@ -4209,10 +4209,18 @@ __TransmitterRingAbortPackets(
     IN  PXENVIF_TRANSMITTER_RING    Ring
     )
 {
+    PXENVIF_TRANSMITTER             Transmitter;
+    PXENVIF_FRONTEND                Frontend;
+    ULONG                           Count;
+
+    Transmitter = Ring->Transmitter;
+    Frontend = Transmitter->Frontend;
+
     __TransmitterRingAcquireLock(Ring);
 
     TransmitterRingSwizzle(Ring);
 
+    Count = 0;
     while (!IsListEmpty(&Ring->PacketQueue)) {
         PLIST_ENTRY                 ListEntry;
         PXENVIF_TRANSMITTER_PACKET  Packet;
@@ -4231,8 +4239,13 @@ __TransmitterRingAbortPackets(
         Packet->Completion.Status = XENVIF_TRANSMITTER_PACKET_DROPPED;
 
         __TransmitterRingCompletePacket(Ring, Packet);
+        Count++;
     }
 
+    Info("%s: aborted %u packets\n",
+         FrontendGetPath(Frontend),
+         Count);
+
     ASSERT3U(Ring->PacketsSent, ==, Ring->PacketsPrepared - Ring->PacketsUnprepared);
     ASSERT3U(Ring->PacketsPrepared, ==, Ring->PacketsCopied + Ring->PacketsGranted + Ring->PacketsFaked);
     ASSERT3U(Ring->PacketsQueued, ==, Ring->PacketsPrepared - Ring->PacketsUnprepared);