|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XENVIF PATCH 1/3] transmitter: Remove LockThread tracking from release builds
LockThread is not used for anything besides debugging. Move the current
code managing LockThread into a debug-only #ifdef.
Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
src/xenvif/transmitter.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/xenvif/transmitter.c b/src/xenvif/transmitter.c
index 58f8575..1425058 100644
--- a/src/xenvif/transmitter.c
+++ b/src/xenvif/transmitter.c
@@ -188,7 +188,9 @@ typedef struct _XENVIF_TRANSMITTER_RING {
BOOLEAN Enabled;
BOOLEAN Stopped;
PVOID Lock;
+#if DBG
PKTHREAD LockThread;
+#endif
LIST_ENTRY PacketQueue;
LIST_ENTRY RequestQueue;
XENVIF_TRANSMITTER_STATE State;
@@ -2733,7 +2735,9 @@ TransmitterRingSwizzle(
LIST_ENTRY List;
ULONG Count;
+#if DBG
ASSERT3P(Ring->LockThread, ==, KeGetCurrentThread());
+#endif
InitializeListHead(&List);
@@ -3121,11 +3125,13 @@ __TransmitterRingTryAcquireLock(
KeMemoryBarrier();
+#if DBG
if (Acquired) {
ASSERT3P(Ring->LockThread, ==, NULL);
Ring->LockThread = KeGetCurrentThread();
KeMemoryBarrier();
}
+#endif
return Acquired;
}
@@ -3166,12 +3172,16 @@ __TransmitterRingTryReleaseLock(
BOOLEAN Released;
ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
+#if DBG
ASSERT3P(KeGetCurrentThread(), ==, Ring->LockThread);
+#endif
Old = XENVIF_TRANSMITTER_LOCK_BIT;
New = 0;
+#if DBG
Ring->LockThread = NULL;
+#endif
KeMemoryBarrier();
@@ -3181,11 +3191,13 @@ __TransmitterRingTryReleaseLock(
KeMemoryBarrier();
+#if DBG
if (!Released) {
ASSERT3P(Ring->LockThread, ==, NULL);
Ring->LockThread = KeGetCurrentThread();
KeMemoryBarrier();
}
+#endif
return Released;
}
--
2.54.0.windows.1
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |