aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/rds.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2010-04-21 16:09:28 -0400
committerAndy Grover <andy.grover@oracle.com>2010-09-08 21:12:27 -0400
commitc83188dcd76b1f0c17c31b4bbd8de57c634b19f8 (patch)
tree1d66c7996693e36d88f9fa7bebcb28281612675d /net/rds/rds.h
parent976673ee1b92d939168c8c1fbad3e16c45caa545 (diff)
rds: per-rm flush_wait waitq
This removes a global waitqueue used to wait for rds messages and replaces it with a waitqueue inside the rds_message struct. The global waitqueue turns into a global lock and significantly bottlenecks operations on large machines. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'net/rds/rds.h')
-rw-r--r--net/rds/rds.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rds/rds.h b/net/rds/rds.h
index b57cb50c1f22..c22bd7b49460 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -301,6 +301,8 @@ struct rds_message {
301 * -> rs->rs_lock 301 * -> rs->rs_lock
302 */ 302 */
303 spinlock_t m_rs_lock; 303 spinlock_t m_rs_lock;
304 wait_queue_head_t m_flush_wait;
305
304 struct rds_sock *m_rs; 306 struct rds_sock *m_rs;
305 307
306 /* cookie to send to remote, in rds header */ 308 /* cookie to send to remote, in rds header */