diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /net/rds/cong.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'net/rds/cong.c')
-rw-r--r-- | net/rds/cong.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/net/rds/cong.c b/net/rds/cong.c index 0871a29f0780..6daaa49d133f 100644 --- a/net/rds/cong.c +++ b/net/rds/cong.c | |||
@@ -33,8 +33,7 @@ | |||
33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
34 | #include <linux/types.h> | 34 | #include <linux/types.h> |
35 | #include <linux/rbtree.h> | 35 | #include <linux/rbtree.h> |
36 | 36 | #include <linux/bitops.h> | |
37 | #include <asm-generic/bitops/le.h> | ||
38 | 37 | ||
39 | #include "rds.h" | 38 | #include "rds.h" |
40 | 39 | ||
@@ -141,7 +140,7 @@ static struct rds_cong_map *rds_cong_from_addr(__be32 addr) | |||
141 | unsigned long flags; | 140 | unsigned long flags; |
142 | 141 | ||
143 | map = kzalloc(sizeof(struct rds_cong_map), GFP_KERNEL); | 142 | map = kzalloc(sizeof(struct rds_cong_map), GFP_KERNEL); |
144 | if (map == NULL) | 143 | if (!map) |
145 | return NULL; | 144 | return NULL; |
146 | 145 | ||
147 | map->m_addr = addr; | 146 | map->m_addr = addr; |
@@ -159,7 +158,7 @@ static struct rds_cong_map *rds_cong_from_addr(__be32 addr) | |||
159 | ret = rds_cong_tree_walk(addr, map); | 158 | ret = rds_cong_tree_walk(addr, map); |
160 | spin_unlock_irqrestore(&rds_cong_lock, flags); | 159 | spin_unlock_irqrestore(&rds_cong_lock, flags); |
161 | 160 | ||
162 | if (ret == NULL) { | 161 | if (!ret) { |
163 | ret = map; | 162 | ret = map; |
164 | map = NULL; | 163 | map = NULL; |
165 | } | 164 | } |
@@ -205,7 +204,7 @@ int rds_cong_get_maps(struct rds_connection *conn) | |||
205 | conn->c_lcong = rds_cong_from_addr(conn->c_laddr); | 204 | conn->c_lcong = rds_cong_from_addr(conn->c_laddr); |
206 | conn->c_fcong = rds_cong_from_addr(conn->c_faddr); | 205 | conn->c_fcong = rds_cong_from_addr(conn->c_faddr); |
207 | 206 | ||
208 | if (conn->c_lcong == NULL || conn->c_fcong == NULL) | 207 | if (!(conn->c_lcong && conn->c_fcong)) |
209 | return -ENOMEM; | 208 | return -ENOMEM; |
210 | 209 | ||
211 | return 0; | 210 | return 0; |
@@ -221,7 +220,7 @@ void rds_cong_queue_updates(struct rds_cong_map *map) | |||
221 | list_for_each_entry(conn, &map->m_conn_list, c_map_item) { | 220 | list_for_each_entry(conn, &map->m_conn_list, c_map_item) { |
222 | if (!test_and_set_bit(0, &conn->c_map_queued)) { | 221 | if (!test_and_set_bit(0, &conn->c_map_queued)) { |
223 | rds_stats_inc(s_cong_update_queued); | 222 | rds_stats_inc(s_cong_update_queued); |
224 | queue_delayed_work(rds_wq, &conn->c_send_w, 0); | 223 | rds_send_xmit(conn); |
225 | } | 224 | } |
226 | } | 225 | } |
227 | 226 | ||
@@ -285,7 +284,7 @@ void rds_cong_set_bit(struct rds_cong_map *map, __be16 port) | |||
285 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; | 284 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; |
286 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; | 285 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; |
287 | 286 | ||
288 | generic___set_le_bit(off, (void *)map->m_page_addrs[i]); | 287 | __set_bit_le(off, (void *)map->m_page_addrs[i]); |
289 | } | 288 | } |
290 | 289 | ||
291 | void rds_cong_clear_bit(struct rds_cong_map *map, __be16 port) | 290 | void rds_cong_clear_bit(struct rds_cong_map *map, __be16 port) |
@@ -299,7 +298,7 @@ void rds_cong_clear_bit(struct rds_cong_map *map, __be16 port) | |||
299 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; | 298 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; |
300 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; | 299 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; |
301 | 300 | ||
302 | generic___clear_le_bit(off, (void *)map->m_page_addrs[i]); | 301 | __clear_bit_le(off, (void *)map->m_page_addrs[i]); |
303 | } | 302 | } |
304 | 303 | ||
305 | static int rds_cong_test_bit(struct rds_cong_map *map, __be16 port) | 304 | static int rds_cong_test_bit(struct rds_cong_map *map, __be16 port) |
@@ -310,7 +309,7 @@ static int rds_cong_test_bit(struct rds_cong_map *map, __be16 port) | |||
310 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; | 309 | i = be16_to_cpu(port) / RDS_CONG_MAP_PAGE_BITS; |
311 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; | 310 | off = be16_to_cpu(port) % RDS_CONG_MAP_PAGE_BITS; |
312 | 311 | ||
313 | return generic_test_le_bit(off, (void *)map->m_page_addrs[i]); | 312 | return test_bit_le(off, (void *)map->m_page_addrs[i]); |
314 | } | 313 | } |
315 | 314 | ||
316 | void rds_cong_add_socket(struct rds_sock *rs) | 315 | void rds_cong_add_socket(struct rds_sock *rs) |