From 9dedfd624e3b17650e9cfb6ef03e8f32d87b4ca0 Mon Sep 17 00:00:00 2001 From: Wei Lin Guay Date: Thu, 10 Aug 2017 11:36:03 +0200 Subject: [PATCH] Revert "net/rds: use different workqueue for base_conn" MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This reverts commit ad7312bb8b8e ("net/rds: use different workqueue for base_conn"). The RDS path record caching will be replaced by ibacm. Thus, all the TOS connections do not rely on its base connection to perform SA query. As a result, RDS does not need a separate "priority" workqueue for the base connection. Orabug: 26497333 Signed-off-by: Wei Lin Guay Reviewed-by: HÃ¥kon Bugge Reviewed-by: Avinash Repaka Reviewed-by: Ajaykumar Hotchandani --- net/rds/connection.c | 3 ++- net/rds/ib.c | 2 -- net/rds/rds.h | 1 - net/rds/threads.c | 7 ------- 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/net/rds/connection.c b/net/rds/connection.c index 38036b995d8a..6e8f80769483 100644 --- a/net/rds/connection.c +++ b/net/rds/connection.c @@ -251,6 +251,7 @@ static struct rds_connection *__rds_conn_create(struct net *net, } conn->c_trans = trans; + init_waitqueue_head(&conn->c_hs_waitq); for (i = 0; i < npaths; i++) { struct rds_conn_path *cp; @@ -262,7 +263,7 @@ static struct rds_connection *__rds_conn_create(struct net *net, if (conn->c_loopback) cp->cp_wq = rds_local_wq; else - cp->cp_wq = tos ? rds_wq : rds_tos_wq; + cp->cp_wq = rds_wq; } ret = trans->conn_alloc(conn, gfp); if (ret) { diff --git a/net/rds/ib.c b/net/rds/ib.c index e84143bbf62d..f1df0a965921 100644 --- a/net/rds/ib.c +++ b/net/rds/ib.c @@ -2100,8 +2100,6 @@ static void rds_ib_unregister_client(void) ib_unregister_client(&rds_ib_client); /* wait for rds_ib_dev_free() to complete */ flush_workqueue(rds_ip_wq); - flush_workqueue(rds_wq); - flush_workqueue(rds_tos_wq); flush_workqueue(rds_local_wq); } diff --git a/net/rds/rds.h b/net/rds/rds.h index 19d6fffedbf3..d63fd7e5d24f 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h @@ -1141,7 +1141,6 @@ extern unsigned int rds_sysctl_shutdown_trace_end_time; int rds_threads_init(void); void rds_threads_exit(void); extern struct workqueue_struct *rds_wq; -extern struct workqueue_struct *rds_tos_wq; extern struct workqueue_struct *rds_local_wq; void rds_queue_reconnect(struct rds_conn_path *cp, int reason); void rds_connect_worker(struct work_struct *); diff --git a/net/rds/threads.c b/net/rds/threads.c index bcf240e3dea1..7071be360d73 100644 --- a/net/rds/threads.c +++ b/net/rds/threads.c @@ -74,8 +74,6 @@ MODULE_PARM_DESC(rds_conn_hb_timeout, " Connection heartbeat timeout"); */ struct workqueue_struct *rds_wq; EXPORT_SYMBOL_GPL(rds_wq); -struct workqueue_struct *rds_tos_wq; -EXPORT_SYMBOL_GPL(rds_tos_wq); struct workqueue_struct *rds_local_wq; EXPORT_SYMBOL_GPL(rds_local_wq); @@ -365,7 +363,6 @@ void rds_shutdown_worker(struct work_struct *work) void rds_threads_exit(void) { destroy_workqueue(rds_wq); - destroy_workqueue(rds_tos_wq); destroy_workqueue(rds_local_wq); } @@ -375,10 +372,6 @@ int rds_threads_init(void) if (!rds_wq) return -ENOMEM; - rds_tos_wq = create_singlethread_workqueue("krdsd_tos"); - if (!rds_wq) - return -ENOMEM; - rds_local_wq = create_singlethread_workqueue("krdsd_local"); if (!rds_local_wq) return -ENOMEM; -- 2.50.1