diff options
author | Chris Mason <chris.mason@oracle.com> | 2010-04-21 22:09:28 +0200 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-09 03:12:27 +0200 |
commit | c83188dcd76b1f0c17c31b4bbd8de57c634b19f8 (patch) | |
tree | 1d66c7996693e36d88f9fa7bebcb28281612675d /net/rds/rds.h | |
parent | rds: switch to rwlock on bind_lock (diff) | |
download | linux-c83188dcd76b1f0c17c31b4bbd8de57c634b19f8.tar.xz linux-c83188dcd76b1f0c17c31b4bbd8de57c634b19f8.zip |
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 { * -> rs->rs_lock */ spinlock_t m_rs_lock; + wait_queue_head_t m_flush_wait; + struct rds_sock *m_rs; /* cookie to send to remote, in rds header */ |