[rds-devel] [PATCH 12/19] Make RDS sysctl really works.
Jie Liu
jeff.liu at oracle.com
Sun Oct 7 05:18:04 PDT 2012
Signed-off-by: Jie Liu <jeff.liu at oracle.com>
---
net/rds/rds.h | 5 -----
net/rds/recv.c | 2 +-
net/rds/send.c | 11 +++++++----
net/rds/threads.c | 6 ++++--
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/net/rds/rds.h b/net/rds/rds.h
index 85e2c44..896ed6c 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -795,11 +795,6 @@ void rds_sysctl_exit(struct net *net);
extern unsigned long rds_sysctl_sndbuf_min;
extern unsigned long rds_sysctl_sndbuf_default;
extern unsigned long rds_sysctl_sndbuf_max;
-extern unsigned long rds_sysctl_reconnect_min_jiffies;
-extern unsigned long rds_sysctl_reconnect_max_jiffies;
-extern unsigned int rds_sysctl_max_unacked_packets;
-extern unsigned int rds_sysctl_max_unacked_bytes;
-extern unsigned int rds_sysctl_ping_enable;
extern unsigned long rds_sysctl_trace_flags;
extern unsigned int rds_sysctl_trace_level;
diff --git a/net/rds/recv.c b/net/rds/recv.c
index 5df2469..43e26f1 100644
--- a/net/rds/recv.c
+++ b/net/rds/recv.c
@@ -204,7 +204,7 @@ void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr,
}
conn->c_next_rx_seq = be64_to_cpu(inc->i_hdr.h_sequence) + 1;
- if (rds_sysctl_ping_enable && inc->i_hdr.h_dport == 0) {
+ if (net->rds.rds_sysctl.ping_enable && inc->i_hdr.h_dport == 0) {
rds_stats_inc(net, s_recv_ping);
rds_send_pong(conn, inc->i_hdr.h_sport);
goto out;
diff --git a/net/rds/send.c b/net/rds/send.c
index 1286e5d..15b7d3c 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -63,6 +63,7 @@ static void rds_send_remove_from_sock(struct list_head *messages, int status);
*/
void rds_send_reset(struct rds_connection *conn)
{
+ struct net *net = rds_conn_to_net(conn);
struct rds_message *rm, *tmp;
unsigned long flags;
@@ -86,8 +87,8 @@ void rds_send_reset(struct rds_connection *conn)
conn->c_map_queued = 0;
- conn->c_unacked_packets = rds_sysctl_max_unacked_packets;
- conn->c_unacked_bytes = rds_sysctl_max_unacked_bytes;
+ conn->c_unacked_packets = net->rds.rds_sysctl.max_unacked_packets;
+ conn->c_unacked_bytes = net->rds.rds_sysctl.max_unacked_bytes;
/* Mark messages as retransmissions, and move them to the send q */
spin_lock_irqsave(&conn->c_lock, flags);
@@ -245,8 +246,10 @@ restart:
conn->c_unacked_bytes < len) {
__set_bit(RDS_MSG_ACK_REQUIRED, &rm->m_flags);
- conn->c_unacked_packets = rds_sysctl_max_unacked_packets;
- conn->c_unacked_bytes = rds_sysctl_max_unacked_bytes;
+ conn->c_unacked_packets =
+ net->rds.rds_sysctl.max_unacked_packets;
+ conn->c_unacked_bytes =
+ net->rds.rds_sysctl.max_unacked_bytes;
rds_stats_inc(net, s_send_ack_required);
} else {
conn->c_unacked_bytes -= len;
diff --git a/net/rds/threads.c b/net/rds/threads.c
index ca4c0f9..8650c5c 100644
--- a/net/rds/threads.c
+++ b/net/rds/threads.c
@@ -113,6 +113,7 @@ EXPORT_SYMBOL_GPL(rds_connect_complete);
*/
void rds_queue_reconnect(struct rds_connection *conn)
{
+ struct net *net = rds_conn_to_net(conn);
unsigned long rand;
rdsdebug("conn %p for %pI4 to %pI4 reconnect jiffies %lu\n",
@@ -121,7 +122,8 @@ void rds_queue_reconnect(struct rds_connection *conn)
set_bit(RDS_RECONNECT_PENDING, &conn->c_flags);
if (conn->c_reconnect_jiffies == 0) {
- conn->c_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies;
+ conn->c_reconnect_jiffies =
+ net->rds.rds_sysctl.reconnect_min_jiffies;
queue_delayed_work(rds_wq, &conn->c_conn_w, 0);
return;
}
@@ -134,7 +136,7 @@ void rds_queue_reconnect(struct rds_connection *conn)
rand % conn->c_reconnect_jiffies);
conn->c_reconnect_jiffies = min(conn->c_reconnect_jiffies * 2,
- rds_sysctl_reconnect_max_jiffies);
+ net->rds.rds_sysctl.reconnect_max_jiffies);
}
void rds_connect_worker(struct work_struct *work)
--
1.7.4.1
More information about the rds-devel
mailing list