[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH xenbus 07/11] Remove the SYNC_PROCESSOR structure
From: Paul Durrant <pdurrant@xxxxxxxxxx> A previous commit left this structure with only a single remaining field: the KDPC structure. This patch simply replaces the SYNC_PROCESSOR array in SYNC_CONTEXT with a KDPC array. The now-unused 'Processor' pointer in SyncWorker() is also cleaned up. NOTE: There is a little re-formatting done in the definition of SYNC_CONEXT: The field names were excessively indented. Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx> --- src/xenbus/sync.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/xenbus/sync.c b/src/xenbus/sync.c index 17eed3c2fee7..767a3c4a767e 100644 --- a/src/xenbus/sync.c +++ b/src/xenbus/sync.c @@ -86,18 +86,14 @@ typedef enum _SYNC_REQUEST { SYNC_REQUEST_EXIT, } SYNC_REQUEST; -typedef struct _SYNC_PROCESSOR { - KDPC Dpc; -} SYNC_PROCESSOR, *PSYNC_PROCESSOR; - typedef struct _SYNC_CONTEXT { - PVOID Argument; - SYNC_CALLBACK Early; - SYNC_CALLBACK Late; - LONG ProcessorCount; - SYNC_REQUEST Request; - LONG CompletionCount; - SYNC_PROCESSOR Processor[1]; + PVOID Argument; + SYNC_CALLBACK Early; + SYNC_CALLBACK Late; + LONG ProcessorCount; + SYNC_REQUEST Request; + LONG CompletionCount; + KDPC Dpc[1]; } SYNC_CONTEXT, *PSYNC_CONTEXT; static PSYNC_CONTEXT SyncContext = (PVOID)__Section; @@ -226,7 +222,6 @@ SyncWorker( { PSYNC_CONTEXT Context = SyncContext; ULONG Index; - PSYNC_PROCESSOR Processor; PROCESSOR_NUMBER ProcNumber; SYNC_REQUEST Request; @@ -239,8 +234,6 @@ SyncWorker( ASSERT(SyncOwner >= 0 && Index != (ULONG)SyncOwner); - Processor = &Context->Processor[Index]; - Trace("====> (%u:%u)\n", ProcNumber.Group, ProcNumber.Number); InterlockedIncrement(&Context->CompletionCount); @@ -316,10 +309,10 @@ SyncCapture( Context->ProcessorCount = KeQueryActiveProcessorCountEx(ALL_PROCESSOR_GROUPS); for (Index = 0; Index < Context->ProcessorCount; Index++) { - PSYNC_PROCESSOR Processor = &Context->Processor[Index]; - NTSTATUS status; + PKDPC Dpc = &Context->Dpc[Index]; + NTSTATUS status; - ASSERT3U((ULONG_PTR)(Processor + 1), <, (ULONG_PTR)__Section + PAGE_SIZE); + ASSERT3U((ULONG_PTR)(Dpc + 1), <, (ULONG_PTR)__Section + PAGE_SIZE); status = KeGetProcessorNumberFromIndex(Index, &ProcNumber); ASSERT(NT_SUCCESS(status)); @@ -328,9 +321,9 @@ SyncCapture( ProcNumber.Number == Number) continue; - KeInitializeDpc(&Processor->Dpc, SyncWorker, NULL); - KeSetTargetProcessorDpcEx(&Processor->Dpc, &ProcNumber); - KeInsertQueueDpc(&Processor->Dpc, NULL, NULL); + KeInitializeDpc(Dpc, SyncWorker, NULL); + KeSetTargetProcessorDpcEx(Dpc, &ProcNumber); + KeInsertQueueDpc(Dpc, NULL, NULL); } KeMemoryBarrier(); -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |