diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-03-23 17:39:07 -0700 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-08 18:12:12 -0700 |
commit | 049ee3f500954176a87f22e6ee3e98aecb1b8958 (patch) | |
tree | 5dfd8cf3e6d9a7a15e80f6ddee7f4ce7c4aa7a8c /net/rds/stats.c | |
parent | f17a1a55fb672d7f64be7f2e940ef5669e5efa0a (diff) | |
download | op-kernel-dev-049ee3f500954176a87f22e6ee3e98aecb1b8958.zip op-kernel-dev-049ee3f500954176a87f22e6ee3e98aecb1b8958.tar.gz |
RDS: Change send lock from a mutex to a spinlock
This change allows us to call rds_send_xmit() from a tasklet,
which is crucial to our new operating model.
* Change c_send_lock to a spinlock
* Update stats fields "sem_" to "_lock"
* Remove unneeded rds_conn_is_sending()
About locking between shutdown and send -- send checks if the
connection is up. Shutdown puts the connection into
DISCONNECTING. After this, all threads entering send will exit
immediately. However, a thread could be *in* send_xmit(), so
shutdown acquires the c_send_lock to ensure everyone is out
before proceeding with connection shutdown.
Signed-off-by: Andy Grover <andy.grover@oracle.com>
Diffstat (limited to 'net/rds/stats.c')
-rw-r--r-- | net/rds/stats.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rds/stats.c b/net/rds/stats.c index c66d95d..b77be8b 100644 --- a/net/rds/stats.c +++ b/net/rds/stats.c @@ -57,8 +57,8 @@ static const char *const rds_stat_names[] = { "recv_ping", "send_queue_empty", "send_queue_full", - "send_sem_contention", - "send_sem_queue_raced", + "send_lock_contention", + "send_lock_queue_raced", "send_immediate_retry", "send_delayed_retry", "send_drop_acked", |