summaryrefslogtreecommitdiff
path: root/src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-03-26 19:21:20 +0000
committer <>2014-05-08 15:03:54 +0000
commitfb123f93f9f5ce42c8e5785d2f8e0edaf951740e (patch)
treec2103d76aec5f1f10892cd1d3a38e24f665ae5db /src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h
parent58ed4748338f9466599adfc8a9171280ed99e23f (diff)
downloadVirtualBox-master.tar.gz
Imported from /home/lorry/working-area/delta_VirtualBox/VirtualBox-4.3.10.tar.bz2.HEADVirtualBox-4.3.10master
Diffstat (limited to 'src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h')
-rw-r--r--src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h b/src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h
index a9f6ee81..d9d7816f 100644
--- a/src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h
+++ b/src/VBox/VMM/include/PDMAsyncCompletionFileInternal.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2008 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -271,6 +271,12 @@ typedef struct PDMASYNCCOMPLETIONEPCLASSFILE
RTR3UINTPTR uBitmaskAlignment;
/** Flag whether the out of resources warning was printed already. */
bool fOutOfResourcesWarningPrinted;
+#ifdef PDM_ASYNC_COMPLETION_FILE_WITH_DELAY
+ /** Timer for delayed request completion. */
+ PTMTIMERR3 pTimer;
+ /** Milliseconds until the next delay expires. */
+ volatile uint64_t cMilliesNext;
+#endif
} PDMASYNCCOMPLETIONEPCLASSFILE;
/** Pointer to the endpoint class data. */
typedef PDMASYNCCOMPLETIONEPCLASSFILE *PPDMASYNCCOMPLETIONEPCLASSFILE;
@@ -379,6 +385,8 @@ typedef struct PDMASYNCCOMPLETIONENDPOINTFILE
#ifdef PDM_ASYNC_COMPLETION_FILE_WITH_DELAY
/** Request delay. */
volatile uint32_t msDelay;
+ /** Request delay jitter. */
+ volatile uint32_t msJitter;
/** Number of requests to delay. */
volatile uint32_t cReqsDelay;
/** Task type to delay. */
@@ -419,6 +427,8 @@ typedef struct PDMASYNCCOMPLETIONENDPOINTFILE
* task writing to that range has to wait until the task completes.
*/
PAVLRFOFFTREE pTreeRangesLocked;
+ /** Number of requests with a range lock active. */
+ unsigned cLockedReqsActive;
/** Number of requests currently being processed for this endpoint
* (excluded flush requests). */
unsigned cRequestsActive;