[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 5/5] Trace worker thread wake events


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: "Tu Dinh" <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Thu, 16 Apr 2026 11:10:01 +0000
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=mte1 header.d=mandrillapp.com header.i="@mandrillapp.com" header.h="From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:Date:MIME-Version:Content-Type:Content-Transfer-Encoding"; dkim=pass header.s=mte1 header.d=vates.tech header.i="ngoc-tu.dinh@xxxxxxxxxx" header.h="From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:Date:MIME-Version:Content-Type:Content-Transfer-Encoding"
  • Cc: "Tu Dinh" <ngoc-tu.dinh@xxxxxxxxxx>, "Owen Smith" <owen.smith@xxxxxxxxxx>
  • Delivery-date: Thu, 16 Apr 2026 11:10:04 +0000
  • Feedback-id: 30504962:30504962.20260416:md
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Distinguish between ThreadAlert and ThreadWake.

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 src/xenvif/fdo.c      |  6 +++++-
 src/xenvif/frontend.c | 14 ++++++++++----
 src/xenvif/vif.c      |  8 +++++---
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/xenvif/fdo.c b/src/xenvif/fdo.c
index 2499563..e0f793f 100644
--- a/src/xenvif/fdo.c
+++ b/src/xenvif/fdo.c
@@ -957,8 +957,12 @@ FdoScan(
                                      NULL);
         KeClearEvent(Event);
 
-        if (ThreadIsAlerted(Self))
+        if (ThreadIsAlerted(Self)) {
+            Trace("alerted\n");
             break;
+        }
+
+        Trace("awake\n");
 
         // It is not safe to use interfaces before this point
         if (__FdoGetDevicePnpState(Fdo) != Started) {
diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
index f2665e8..b52596c 100644
--- a/src/xenvif/frontend.c
+++ b/src/xenvif/frontend.c
@@ -402,8 +402,12 @@ FrontendEject(
                               NULL);
         KeClearEvent(Event);
 
-        if (ThreadIsAlerted(Self))
+        if (ThreadIsAlerted(Self)) {
+            Trace("alerted\n");
             break;
+        }
+
+        Trace("awake\n");
 
         KeAcquireSpinLock(&Frontend->Lock, &Irql);
 
@@ -903,10 +907,12 @@ FrontendMib(
                                      NULL);
         KeClearEvent(Event);
 
-        Trace("awake\n");
-
-        if (ThreadIsAlerted(Self))
+        if (ThreadIsAlerted(Self)) {
+            Trace("alerted\n");
             break;
+        }
+
+        Trace("awake\n");
 
         IfTable = NULL;
         UnicastIpAddressTable = NULL;
diff --git a/src/xenvif/vif.c b/src/xenvif/vif.c
index cb4cf84..6782cc7 100644
--- a/src/xenvif/vif.c
+++ b/src/xenvif/vif.c
@@ -106,10 +106,12 @@ VifMac(
                                      NULL);
         KeClearEvent(Event);
 
-        Trace("awake\n");
-
-        if (ThreadIsAlerted(Self))
+        if (ThreadIsAlerted(Self)) {
+            Trace("alerted\n");
             break;
+        }
+
+        Trace("awake\n");
 
         if (Context->Enabled)
             Context->Callback(Context->Argument, XENVIF_MAC_STATE_CHANGE, 
NULL);
-- 
2.53.0.windows.2



--
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.