This commit integrates wpp tracing into builds higher than Vista as
Windows Vista requires much more configuration for wpp integration,
however, this integration may be introduced in the future.
The old style of Dprintf is still preserved by this commit and can be
enabled by disabling WPP tracing. This can be accomplished by commenting
the following line in WPPTrace.h:
Signed-off-by: Sameeh Jubran <[email protected]>
The function has no effect and will be removed.
Also deleting the defunct "PublishIndices" config entry.
Signed-off-by: Ladi Prosek <[email protected]>
The NdisDprAcquireSpinLock and NdisDprReleaseSpinLock are an optimized
version of the Ndis Acquire and Release functions that should be called
only at Dispatch level.
Signed-off-by: Sameeh Jubran <[email protected]>
NdisMAllocateSharedMemory allocates physically contiguous memory
so it is not necessary to create the receive scatter-gather list
from single-page blocks.
With this fix, the typical number of SG descriptors is reduced from
~18 to 2, speeding up recive processing both on the guest and host
side.
ParaNdis_InitialAllocatePhysicalMemory gets a new ulSize parameter
which makes pAddresses pure output now. Also, references to a non-existent
ParaNdis_RuntimeRequestToAllocatePhysicalMemory are removed.
When working with 1 queue MQ or without MQ RX path
may be processed by a few CPUs running DPC routine
in parallel.
In this case only one of those should do the real
processing.
Signed-off-by: Dmitry Fleytman <[email protected]>
Part of the effort to simplify ndis56common.h. This is the first step in
removing kdebugprint.h from ndis56common.h, adding include where needed and
moving some functions implementation from class definitions files.
Signed-off-by: Yan Vugenfirer <[email protected]>
The logic of dispatching the packet toward different ReceiveQueues
depending on scaling data, was placed under #ifdef. In case
of no RSS support, all packets goes to the same receive queue.
In order to avoid #ifdef duplication, declarations of variables
used only for RSS-related computations, were moved under same
ifdef - with varaibels not ifdef'd, compiler complains
on unreferenced variables.
Also, parameter 'nCurrCpuReceiveQueue' is used only for RSS
computation, so in the absence of RSS, 'unused parameter' warning
was disabled with UNREFERENCED_PARAMETER macro.
Signed-off-by: Joseph Hindin <[email protected]>
Before the patch 'Routing unclassified packets through RX path's receive
queue', unclassified packets were routed through per-context receive queue,
placed into ReceiveQueues array at index 0. The patch 'Routing
unclassified packets through RX path's receive queue' changes
unclassified packets routing so that they are placed into a dedicated
receive queue, one per virtqueue/CParaNdisRX instance. This patch
completes the change by removing per-context receive queue; first
element in ReceiveQueues array has not special meaning and the
constant 'PARANDIS_RECEIVE_QUEUE_UNCLASSIFIED' was split
into 'PARANDIS_RECEIVE_UNCLASSIFIED_PACKET' and
'PARANDIS_RECEIVE_NO_QUEUE', depending on context.
Signed-off-by: Joseph Hindin <[email protected]>
The refactoring considered too deep, instead code is stabilized with
incremental changes and refactoring postponed
Signed-off-by: Joseph Hindin <[email protected]>