[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