|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/5] Log waits for backend state changes.
In addition to preceding changes to ring disconnects, and
associated logging, we also add some logging to check
whether state change notifications are being sent in a timely
manner between frontend and backend. Also a great assistance
to customer debugging.
Signed-off-by: Martin Harvey <martin.harvey@xxxxxxxxxx>
---
src/xenvif/frontend.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
index 5940e16..72f448d 100644
--- a/src/xenvif/frontend.c
+++ b/src/xenvif/frontend.c
@@ -1346,6 +1346,7 @@ FrontendWaitForBackendXenbusStateChange(
LARGE_INTEGER Timeout;
XenbusState Old = *State;
NTSTATUS status;
+ const ULONGLONG TotalTimeout = 120000;
Trace("%s: ====> %s\n",
__FrontendGetBackendPath(Frontend),
@@ -1369,7 +1370,7 @@ FrontendWaitForBackendXenbusStateChange(
Timeout.QuadPart = 0;
- while (*State == Old && TimeDelta < 120000) {
+ while (*State == Old && TimeDelta < TotalTimeout) {
PCHAR Buffer;
LARGE_INTEGER Now;
@@ -1417,6 +1418,9 @@ FrontendWaitForBackendXenbusStateChange(
TimeDelta = (Now.QuadPart - Start.QuadPart) / 10000ull;
}
+ if (TimeDelta >= TotalTimeout)
+ Error("%s timed out waiting for backend state change\n",
__FrontendGetBackendPath(Frontend));
+
if (Watch != NULL)
(VOID) XENBUS_STORE(WatchRemove,
&Frontend->StoreInterface,
--
2.25.0.windows.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |