From 47927a880f917933023fd562d0638304309f7c1a Mon Sep 17 00:00:00 2001 From: Praveen K V Date: Mon, 25 Apr 2016 10:10:47 +0530 Subject: [PATCH] Move unrelated tasks from db::DBTable context ConfigManager processing and vnsw-if listener dont need to run in db::DBTable. Fix the dependencies Conflicts: src/vnsw/agent/cmn/agent.cc Change-Id: Ie727d3365e48cc59422bc2cbde45f44646e20548 Partial-Bug: #1572458 --- src/vnsw/agent/cmn/agent.cc | 14 +++++++++++++- src/vnsw/agent/cmn/agent.h | 1 + .../agent/vrouter/ksync/vnswif_listener_base.cc | 3 ++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/vnsw/agent/cmn/agent.cc b/src/vnsw/agent/cmn/agent.cc index 476f564ba6e..8c70b116d02 100644 --- a/src/vnsw/agent/cmn/agent.cc +++ b/src/vnsw/agent/cmn/agent.cc @@ -143,11 +143,20 @@ void Agent::SetAgentTaskPolicy() { kTaskDBExclude, AGENT_SHUTDOWN_TASKNAME, AGENT_INIT_TASKNAME, - AGENT_SANDESH_TASKNAME + AGENT_SANDESH_TASKNAME, + kTaskConfigManager }; SetTaskPolicyOne("db::DBTable", db_exclude_list, sizeof(db_exclude_list) / sizeof(char *)); + // ConfigManager task + const char *config_manager_exclude_list[] = { + AGENT_SHUTDOWN_TASKNAME, + AGENT_INIT_TASKNAME + }; + SetTaskPolicyOne(kTaskConfigManager, config_manager_exclude_list, + sizeof(config_manager_exclude_list) / sizeof(char *)); + const char *flow_table_exclude_list[] = { "Agent::PktFlowResponder", kTaskFlowKSync, @@ -281,6 +290,9 @@ void Agent::SetAgentTaskPolicy() { const char *db_exclude_task_exclude_list[] = { "Agent::Uve", + "sandesh::RecvQueue", + "Agent::ControllerXmpp", + "bgp::Config", AGENT_SHUTDOWN_TASKNAME, AGENT_INIT_TASKNAME }; diff --git a/src/vnsw/agent/cmn/agent.h b/src/vnsw/agent/cmn/agent.h index 2da15584204..ddb70e47185 100644 --- a/src/vnsw/agent/cmn/agent.h +++ b/src/vnsw/agent/cmn/agent.h @@ -222,6 +222,7 @@ extern void RouterIdDepInit(Agent *agent); #define kTaskHealthCheck "Agent::HealthCheck" #define kTaskDBExclude "Agent::DBExcludeTask" +#define kTaskConfigManager "Agent::ConfigManager" #define kInterfaceDbTablePrefix "db.interface" #define kVnDbTablePrefix "db.vn" diff --git a/src/vnsw/agent/vrouter/ksync/vnswif_listener_base.cc b/src/vnsw/agent/vrouter/ksync/vnswif_listener_base.cc index 81e5234cc74..04e53a737e3 100644 --- a/src/vnsw/agent/vrouter/ksync/vnswif_listener_base.cc +++ b/src/vnsw/agent/vrouter/ksync/vnswif_listener_base.cc @@ -50,9 +50,10 @@ void VnswInterfaceListenerBase::Init() { (boost::bind(&VnswInterfaceListenerBase::FabricRouteNotify, this, _1, _2)); + /* Allocate Route Event Workqueue */ revent_queue_ = new WorkQueue - (TaskScheduler::GetInstance()->GetTaskId("db::DBTable"), 0, + (TaskScheduler::GetInstance()->GetTaskId(kTaskDBExclude), 0, boost::bind(&VnswInterfaceListenerBase::ProcessEvent, this, _1)); revent_queue_->set_name("Netlink interface listener");