From 811c911ff523b0cbba4fbf1b4523a63690d522f1 Mon Sep 17 00:00:00 2001 From: Sorin Vinturis Date: Thu, 7 Apr 2016 11:21:12 +0000 Subject: 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 Reported-by: Sorin Vinturis Reported-at: https://github.com/openvswitch/ovs-issues/issues/112 Acked-by: Paul-Daniel Boca Signed-off-by: Ben Pfaff --- datapath-windows/ovsext/Datapath.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'datapath-windows/ovsext/Datapath.c') 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 -- cgit v1.2.1