summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Datapath.c
diff options
context:
space:
mode:
authorSorin Vinturis <svinturis@cloudbasesolutions.com>2016-04-07 11:21:12 +0000
committerBen Pfaff <blp@ovn.org>2016-04-10 12:43:45 -0700
commit811c911ff523b0cbba4fbf1b4523a63690d522f1 (patch)
tree7f186e73612ee86e5f3252777f6f225788230ddd /datapath-windows/ovsext/Datapath.c
parent6982ee960e47616f4bd5178d94740e81feaea26c (diff)
downloadopenvswitch-811c911ff523b0cbba4fbf1b4523a63690d522f1.tar.gz
datapath-windows: Hot add CPU support.
Hot add CPU is the ability to dynamically add CPUs to a running system. Adding CPUs can occur physically by adding new hardware, logically by online hardware partitioning, or virtually through a virtualization layer. This patch add support to reallocate any per-cpu resources, in case a new processor is added. Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Reported-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/112 Acked-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/Datapath.c')
-rw-r--r--datapath-windows/ovsext/Datapath.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 464fa9784..8c0c246a5 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -379,26 +379,29 @@ FreeUserDumpState(POVS_OPEN_INSTANCE instance)
}
}
-VOID
+NDIS_STATUS
OvsInit()
{
+ NDIS_STATUS status = NDIS_STATUS_SUCCESS;
+
gOvsCtrlLock = &ovsCtrlLockObj;
NdisAllocateSpinLock(gOvsCtrlLock);
OvsInitEventQueue();
- OvsDeferredActionsQueueAlloc();
- OvsDeferredActionsLevelAlloc();
+
+ status = OvsPerCpuDataInit();
+
+ return status;
}
VOID
OvsCleanup()
{
+ OvsPerCpuDataCleanup();
OvsCleanupEventQueue();
if (gOvsCtrlLock) {
NdisFreeSpinLock(gOvsCtrlLock);
gOvsCtrlLock = NULL;
}
- OvsDeferredActionsQueueFree();
- OvsDeferredActionsLevelFree();
}
VOID