|
ReactOS 0.4.17-dev-672-gf9943c7
|
#include <kmt_test.h>
Go to the source code of this file.
Classes | |
| struct | PUSH_LOCK_TEST_STATE |
| struct | PUSH_LOCK_THREAD_CONTEXT |
Macros | |
| #define | PUSH_LOCK_TIMEOUT_MS 5000 |
| #define | PUSH_LOCK_POLL_INTERVAL_MS 1 |
| #define | PUSH_LOCK_RELATIVE_TIMEOUT(Milliseconds) (-((LONGLONG)(Milliseconds) * 10 * 1000)) |
| #define | PUSH_LOCK_MAX_WAITERS 4 |
| #define | PUSH_LOCK_RACE_ITERATIONS 64 |
| #define | PUSH_LOCK_CONTENTION_THREADS 6 |
| #define | PUSH_LOCK_CONTENTION_ITERATIONS 2048 |
| #define | PUSH_LOCK_CHECKSUM_XOR 0xA5A5A5A5UL |
Typedefs | |
| typedef enum PUSH_LOCK_MODE | PUSH_LOCK_MODE |
| typedef enum PUSH_LOCK_RELEASE_KIND | PUSH_LOCK_RELEASE_KIND |
| typedef enum PUSH_LOCK_WAIT_CHAIN_STATE | PUSH_LOCK_WAIT_CHAIN_STATE |
| typedef struct PUSH_LOCK_TEST_STATE | PUSH_LOCK_TEST_STATE |
| typedef struct PUSH_LOCK_TEST_STATE * | PPUSH_LOCK_TEST_STATE |
| typedef struct PUSH_LOCK_THREAD_CONTEXT | PUSH_LOCK_THREAD_CONTEXT |
| typedef struct PUSH_LOCK_THREAD_CONTEXT * | PPUSH_LOCK_THREAD_CONTEXT |
Enumerations | |
| enum | PUSH_LOCK_MODE { PushLockModeShared , PushLockModeExclusive } |
| enum | PUSH_LOCK_RELEASE_KIND { PushLockReleaseSpecific , PushLockReleaseGeneric } |
| enum | PUSH_LOCK_WAIT_CHAIN_STATE { PushLockWaitChainInProgress , PushLockWaitChainStable , PushLockWaitChainInvalid } |
| #define PUSH_LOCK_CHECKSUM_XOR 0xA5A5A5A5UL |
Definition at line 21 of file ExPushLock.c.
| #define PUSH_LOCK_CONTENTION_ITERATIONS 2048 |
Definition at line 19 of file ExPushLock.c.
| #define PUSH_LOCK_CONTENTION_THREADS 6 |
Definition at line 18 of file ExPushLock.c.
| #define PUSH_LOCK_MAX_WAITERS 4 |
Definition at line 15 of file ExPushLock.c.
| #define PUSH_LOCK_POLL_INTERVAL_MS 1 |
Definition at line 11 of file ExPushLock.c.
| #define PUSH_LOCK_RACE_ITERATIONS 64 |
Definition at line 17 of file ExPushLock.c.
Definition at line 13 of file ExPushLock.c.
| #define PUSH_LOCK_TIMEOUT_MS 5000 |
Definition at line 10 of file ExPushLock.c.
| typedef struct PUSH_LOCK_TEST_STATE * PPUSH_LOCK_TEST_STATE |
| typedef enum PUSH_LOCK_MODE PUSH_LOCK_MODE |
| Enumerator | |
|---|---|
| PushLockModeShared | |
| PushLockModeExclusive | |
Definition at line 23 of file ExPushLock.c.
| Enumerator | |
|---|---|
| PushLockReleaseSpecific | |
| PushLockReleaseGeneric | |
Definition at line 29 of file ExPushLock.c.
| Enumerator | |
|---|---|
| PushLockWaitChainInProgress | |
| PushLockWaitChainStable | |
| PushLockWaitChainInvalid | |
Definition at line 35 of file ExPushLock.c.
| C_ASSERT | ( | sizeof(EX_PUSH_LOCK) | = =sizeof(ULONG_PTR) | ) |
|
static |
Definition at line 187 of file ExPushLock.c.
Referenced by PushLockContentionThread(), and PushLockControlledThread().
Definition at line 1213 of file ExPushLock.c.
Referenced by TestPushLockContention().
Definition at line 373 of file ExPushLock.c.
Referenced by PushLockStartControlledThread().
| FORCEINLINE VOID PushLockDelay | ( | VOID | ) |
Definition at line 95 of file ExPushLock.c.
Referenced by PushLockWaitForStableWaitChain().
|
static |
Definition at line 229 of file ExPushLock.c.
Referenced by PushLockContentionThread(), and PushLockControlledThread().
|
static |
Definition at line 337 of file ExPushLock.c.
Referenced by TestPushLockContention(), TestPushLockSharedOwnerDrain(), TestPushLockUncontended(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
|
static |
Definition at line 347 of file ExPushLock.c.
Referenced by TestPushLockContention(), TestPushLockSharedOwnerDrain(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
|
static |
Definition at line 268 of file ExPushLock.c.
Referenced by PushLockContentionThread(), and PushLockControlledThread().
|
static |
Definition at line 294 of file ExPushLock.c.
Referenced by PushLockContentionThread().
|
static |
Definition at line 106 of file ExPushLock.c.
Referenced by PushLockSampleState(), PushLockValidateWaitChain(), TestPushLockContention(), TestPushLockSharedOwnerDrain(), TestPushLockUncontended(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
| FORCEINLINE VOID PushLockRecordViolation | ( | _Inout_ PPUSH_LOCK_TEST_STATE | State | ) |
Definition at line 168 of file ExPushLock.c.
Referenced by PushLockContentionThread(), PushLockControlledThread(), PushLockEnterProtectedRegion(), PushLockLeaveProtectedRegion(), PushLockReadProtectedValue(), and PushLockSampleState().
|
static |
Definition at line 203 of file ExPushLock.c.
Referenced by PushLockContentionThread(), PushLockControlledThread(), TestPushLockSharedOwnerDrain(), TestPushLockUncontended(), and TestPushLockWaiterArrivalDuringRelease().
|
static |
Definition at line 458 of file ExPushLock.c.
Referenced by TestPushLockSharedOwnerDrain(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
|
static |
Definition at line 176 of file ExPushLock.c.
Referenced by PushLockContentionThread().
|
static |
Definition at line 434 of file ExPushLock.c.
Referenced by TestPushLockSharedOwnerDrain(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
|
static |
Definition at line 492 of file ExPushLock.c.
Referenced by PushLockWaitForStableWaitChain().
|
static |
Definition at line 127 of file ExPushLock.c.
Referenced by PushLockSampleState(), and PushLockValidateWaitChain().
| FORCEINLINE NTSTATUS PushLockWaitForEvent | ( | _In_ PKEVENT | Event | ) |
Definition at line 79 of file ExPushLock.c.
Referenced by PushLockReleaseAndFinishThread(), PushLockStartControlledThread(), TestPushLockContention(), TestPushLockSharedOwnerDrain(), and TestPushLockWaiterSelection().
|
static |
Definition at line 676 of file ExPushLock.c.
Referenced by TestPushLockSharedOwnerDrain(), TestPushLockWaiterArrivalDuringRelease(), and TestPushLockWaiterSelection().
|
static |
Definition at line 317 of file ExPushLock.c.
Referenced by PushLockContentionThread().
| START_TEST | ( | ExPushLock | ) |
Definition at line 1373 of file ExPushLock.c.
Definition at line 1283 of file ExPushLock.c.
Referenced by START_TEST().
|
static |
Definition at line 901 of file ExPushLock.c.
Referenced by START_TEST().
|
static |
Definition at line 716 of file ExPushLock.c.
Referenced by START_TEST().
Definition at line 1120 of file ExPushLock.c.
Referenced by START_TEST().
Definition at line 772 of file ExPushLock.c.
Referenced by START_TEST().