Nothing looks a the 'InNDISMax' value, yet the receiver code still jumps
through potentially performance damaging hoops to update it. This patch
finally blows it away.
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
PNET_BUFFER_LIST PutList;
PNET_BUFFER_LIST GetList[HVM_MAX_VCPUS];
LONG InNDIS;
- LONG InNDISMax;
XENVIF_VIF_OFFLOAD_OPTIONS OffloadOptions;
};
if (InNDIS > IN_NDIS_MAX)
Flags |= NDIS_RECEIVE_FLAGS_RESOURCES;
- for (;;) {
- LONG InNDISMax;
-
- InNDISMax = Receiver->InNDISMax;
- KeMemoryBarrier();
-
- if (InNDIS <= InNDISMax)
- break;
-
- if (InterlockedCompareExchange(&Receiver->InNDISMax, InNDIS, InNDISMax) == InNDISMax)
- break;
- }
-
NdisMIndicateReceiveNetBufferLists(AdapterGetHandle(Receiver->Adapter),
NetBufferList,
NDIS_DEFAULT_PORT_NUMBER,