diff options
author | Chris Mason <chris.mason@oracle.com> | 2010-04-21 16:09:28 -0400 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-08 21:12:27 -0400 |
commit | c83188dcd76b1f0c17c31b4bbd8de57c634b19f8 (patch) | |
tree | 1d66c7996693e36d88f9fa7bebcb28281612675d /net/rds/rds.h | |
parent | 976673ee1b92d939168c8c1fbad3e16c45caa545 (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.h | 2 |
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 */ |