diff options
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/af_rds.c | 20 | ||||
-rw-r--r-- | net/rds/bind.c | 4 | ||||
-rw-r--r-- | net/rds/ib.h | 1 | ||||
-rw-r--r-- | net/rds/ib_cm.c | 6 | ||||
-rw-r--r-- | net/rds/ib_send.c | 4 | ||||
-rw-r--r-- | net/rds/iw.h | 1 | ||||
-rw-r--r-- | net/rds/iw_cm.c | 9 | ||||
-rw-r--r-- | net/rds/iw_rdma.c | 22 | ||||
-rw-r--r-- | net/rds/iw_send.c | 4 | ||||
-rw-r--r-- | net/rds/page.c | 1 | ||||
-rw-r--r-- | net/rds/send.c | 7 | ||||
-rw-r--r-- | net/rds/tcp_stats.c | 2 |
12 files changed, 42 insertions, 39 deletions
diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index bb6ad81b671..424ff622ab5 100644 --- a/net/rds/af_rds.c +++ b/net/rds/af_rds.c | |||
@@ -68,7 +68,6 @@ static int rds_release(struct socket *sock) | |||
68 | { | 68 | { |
69 | struct sock *sk = sock->sk; | 69 | struct sock *sk = sock->sk; |
70 | struct rds_sock *rs; | 70 | struct rds_sock *rs; |
71 | unsigned long flags; | ||
72 | 71 | ||
73 | if (!sk) | 72 | if (!sk) |
74 | goto out; | 73 | goto out; |
@@ -94,10 +93,10 @@ static int rds_release(struct socket *sock) | |||
94 | rds_rdma_drop_keys(rs); | 93 | rds_rdma_drop_keys(rs); |
95 | rds_notify_queue_get(rs, NULL); | 94 | rds_notify_queue_get(rs, NULL); |
96 | 95 | ||
97 | spin_lock_irqsave(&rds_sock_lock, flags); | 96 | spin_lock_bh(&rds_sock_lock); |
98 | list_del_init(&rs->rs_item); | 97 | list_del_init(&rs->rs_item); |
99 | rds_sock_count--; | 98 | rds_sock_count--; |
100 | spin_unlock_irqrestore(&rds_sock_lock, flags); | 99 | spin_unlock_bh(&rds_sock_lock); |
101 | 100 | ||
102 | rds_trans_put(rs->rs_transport); | 101 | rds_trans_put(rs->rs_transport); |
103 | 102 | ||
@@ -409,7 +408,6 @@ static const struct proto_ops rds_proto_ops = { | |||
409 | 408 | ||
410 | static int __rds_create(struct socket *sock, struct sock *sk, int protocol) | 409 | static int __rds_create(struct socket *sock, struct sock *sk, int protocol) |
411 | { | 410 | { |
412 | unsigned long flags; | ||
413 | struct rds_sock *rs; | 411 | struct rds_sock *rs; |
414 | 412 | ||
415 | sock_init_data(sock, sk); | 413 | sock_init_data(sock, sk); |
@@ -426,10 +424,10 @@ static int __rds_create(struct socket *sock, struct sock *sk, int protocol) | |||
426 | spin_lock_init(&rs->rs_rdma_lock); | 424 | spin_lock_init(&rs->rs_rdma_lock); |
427 | rs->rs_rdma_keys = RB_ROOT; | 425 | rs->rs_rdma_keys = RB_ROOT; |
428 | 426 | ||
429 | spin_lock_irqsave(&rds_sock_lock, flags); | 427 | spin_lock_bh(&rds_sock_lock); |
430 | list_add_tail(&rs->rs_item, &rds_sock_list); | 428 | list_add_tail(&rs->rs_item, &rds_sock_list); |
431 | rds_sock_count++; | 429 | rds_sock_count++; |
432 | spin_unlock_irqrestore(&rds_sock_lock, flags); | 430 | spin_unlock_bh(&rds_sock_lock); |
433 | 431 | ||
434 | return 0; | 432 | return 0; |
435 | } | 433 | } |
@@ -471,12 +469,11 @@ static void rds_sock_inc_info(struct socket *sock, unsigned int len, | |||
471 | { | 469 | { |
472 | struct rds_sock *rs; | 470 | struct rds_sock *rs; |
473 | struct rds_incoming *inc; | 471 | struct rds_incoming *inc; |
474 | unsigned long flags; | ||
475 | unsigned int total = 0; | 472 | unsigned int total = 0; |
476 | 473 | ||
477 | len /= sizeof(struct rds_info_message); | 474 | len /= sizeof(struct rds_info_message); |
478 | 475 | ||
479 | spin_lock_irqsave(&rds_sock_lock, flags); | 476 | spin_lock_bh(&rds_sock_lock); |
480 | 477 | ||
481 | list_for_each_entry(rs, &rds_sock_list, rs_item) { | 478 | list_for_each_entry(rs, &rds_sock_list, rs_item) { |
482 | read_lock(&rs->rs_recv_lock); | 479 | read_lock(&rs->rs_recv_lock); |
@@ -492,7 +489,7 @@ static void rds_sock_inc_info(struct socket *sock, unsigned int len, | |||
492 | read_unlock(&rs->rs_recv_lock); | 489 | read_unlock(&rs->rs_recv_lock); |
493 | } | 490 | } |
494 | 491 | ||
495 | spin_unlock_irqrestore(&rds_sock_lock, flags); | 492 | spin_unlock_bh(&rds_sock_lock); |
496 | 493 | ||
497 | lens->nr = total; | 494 | lens->nr = total; |
498 | lens->each = sizeof(struct rds_info_message); | 495 | lens->each = sizeof(struct rds_info_message); |
@@ -504,11 +501,10 @@ static void rds_sock_info(struct socket *sock, unsigned int len, | |||
504 | { | 501 | { |
505 | struct rds_info_socket sinfo; | 502 | struct rds_info_socket sinfo; |
506 | struct rds_sock *rs; | 503 | struct rds_sock *rs; |
507 | unsigned long flags; | ||
508 | 504 | ||
509 | len /= sizeof(struct rds_info_socket); | 505 | len /= sizeof(struct rds_info_socket); |
510 | 506 | ||
511 | spin_lock_irqsave(&rds_sock_lock, flags); | 507 | spin_lock_bh(&rds_sock_lock); |
512 | 508 | ||
513 | if (len < rds_sock_count) | 509 | if (len < rds_sock_count) |
514 | goto out; | 510 | goto out; |
@@ -529,7 +525,7 @@ out: | |||
529 | lens->nr = rds_sock_count; | 525 | lens->nr = rds_sock_count; |
530 | lens->each = sizeof(struct rds_info_socket); | 526 | lens->each = sizeof(struct rds_info_socket); |
531 | 527 | ||
532 | spin_unlock_irqrestore(&rds_sock_lock, flags); | 528 | spin_unlock_bh(&rds_sock_lock); |
533 | } | 529 | } |
534 | 530 | ||
535 | static void rds_exit(void) | 531 | static void rds_exit(void) |
diff --git a/net/rds/bind.c b/net/rds/bind.c index 2f6b3fcc79f..637bde56c9d 100644 --- a/net/rds/bind.c +++ b/net/rds/bind.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/in.h> | 35 | #include <linux/in.h> |
36 | #include <linux/if_arp.h> | 36 | #include <linux/if_arp.h> |
37 | #include <linux/jhash.h> | 37 | #include <linux/jhash.h> |
38 | #include <linux/ratelimit.h> | ||
38 | #include "rds.h" | 39 | #include "rds.h" |
39 | 40 | ||
40 | #define BIND_HASH_SIZE 1024 | 41 | #define BIND_HASH_SIZE 1024 |
@@ -185,8 +186,7 @@ int rds_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
185 | if (!trans) { | 186 | if (!trans) { |
186 | ret = -EADDRNOTAVAIL; | 187 | ret = -EADDRNOTAVAIL; |
187 | rds_remove_bound(rs); | 188 | rds_remove_bound(rs); |
188 | if (printk_ratelimit()) | 189 | printk_ratelimited(KERN_INFO "RDS: rds_bind() could not find a transport, " |
189 | printk(KERN_INFO "RDS: rds_bind() could not find a transport, " | ||
190 | "load rds_tcp or rds_rdma?\n"); | 190 | "load rds_tcp or rds_rdma?\n"); |
191 | goto out; | 191 | goto out; |
192 | } | 192 | } |
diff --git a/net/rds/ib.h b/net/rds/ib.h index 4297d92788d..edfaaaf164e 100644 --- a/net/rds/ib.h +++ b/net/rds/ib.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include <rdma/ib_verbs.h> | 4 | #include <rdma/ib_verbs.h> |
5 | #include <rdma/rdma_cm.h> | 5 | #include <rdma/rdma_cm.h> |
6 | #include <linux/interrupt.h> | ||
6 | #include <linux/pci.h> | 7 | #include <linux/pci.h> |
7 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
8 | #include "rds.h" | 9 | #include "rds.h" |
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c index fd453dd5124..cd67026be2d 100644 --- a/net/rds/ib_cm.c +++ b/net/rds/ib_cm.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/in.h> | 34 | #include <linux/in.h> |
35 | #include <linux/slab.h> | 35 | #include <linux/slab.h> |
36 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
37 | #include <linux/ratelimit.h> | ||
37 | 38 | ||
38 | #include "rds.h" | 39 | #include "rds.h" |
39 | #include "ib.h" | 40 | #include "ib.h" |
@@ -435,13 +436,12 @@ static u32 rds_ib_protocol_compatible(struct rdma_cm_event *event) | |||
435 | version = RDS_PROTOCOL_3_0; | 436 | version = RDS_PROTOCOL_3_0; |
436 | while ((common >>= 1) != 0) | 437 | while ((common >>= 1) != 0) |
437 | version++; | 438 | version++; |
438 | } else if (printk_ratelimit()) { | 439 | } |
439 | printk(KERN_NOTICE "RDS: Connection from %pI4 using " | 440 | printk_ratelimited(KERN_NOTICE "RDS: Connection from %pI4 using " |
440 | "incompatible protocol version %u.%u\n", | 441 | "incompatible protocol version %u.%u\n", |
441 | &dp->dp_saddr, | 442 | &dp->dp_saddr, |
442 | dp->dp_protocol_major, | 443 | dp->dp_protocol_major, |
443 | dp->dp_protocol_minor); | 444 | dp->dp_protocol_minor); |
444 | } | ||
445 | return version; | 445 | return version; |
446 | } | 446 | } |
447 | 447 | ||
diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c index 7c4dce8fa5e..e5909498117 100644 --- a/net/rds/ib_send.c +++ b/net/rds/ib_send.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/in.h> | 34 | #include <linux/in.h> |
35 | #include <linux/device.h> | 35 | #include <linux/device.h> |
36 | #include <linux/dmapool.h> | 36 | #include <linux/dmapool.h> |
37 | #include <linux/ratelimit.h> | ||
37 | 38 | ||
38 | #include "rds.h" | 39 | #include "rds.h" |
39 | #include "ib.h" | 40 | #include "ib.h" |
@@ -207,8 +208,7 @@ static struct rds_message *rds_ib_send_unmap_op(struct rds_ib_connection *ic, | |||
207 | } | 208 | } |
208 | break; | 209 | break; |
209 | default: | 210 | default: |
210 | if (printk_ratelimit()) | 211 | printk_ratelimited(KERN_NOTICE |
211 | printk(KERN_NOTICE | ||
212 | "RDS/IB: %s: unexpected opcode 0x%x in WR!\n", | 212 | "RDS/IB: %s: unexpected opcode 0x%x in WR!\n", |
213 | __func__, send->s_wr.opcode); | 213 | __func__, send->s_wr.opcode); |
214 | break; | 214 | break; |
diff --git a/net/rds/iw.h b/net/rds/iw.h index 90151922178..04ce3b193f7 100644 --- a/net/rds/iw.h +++ b/net/rds/iw.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _RDS_IW_H | 1 | #ifndef _RDS_IW_H |
2 | #define _RDS_IW_H | 2 | #define _RDS_IW_H |
3 | 3 | ||
4 | #include <linux/interrupt.h> | ||
4 | #include <rdma/ib_verbs.h> | 5 | #include <rdma/ib_verbs.h> |
5 | #include <rdma/rdma_cm.h> | 6 | #include <rdma/rdma_cm.h> |
6 | #include "rds.h" | 7 | #include "rds.h" |
diff --git a/net/rds/iw_cm.c b/net/rds/iw_cm.c index c12db66f24c..9556d2895f7 100644 --- a/net/rds/iw_cm.c +++ b/net/rds/iw_cm.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/in.h> | 34 | #include <linux/in.h> |
35 | #include <linux/slab.h> | 35 | #include <linux/slab.h> |
36 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
37 | #include <linux/ratelimit.h> | ||
37 | 38 | ||
38 | #include "rds.h" | 39 | #include "rds.h" |
39 | #include "iw.h" | 40 | #include "iw.h" |
@@ -258,8 +259,7 @@ static int rds_iw_setup_qp(struct rds_connection *conn) | |||
258 | */ | 259 | */ |
259 | rds_iwdev = ib_get_client_data(dev, &rds_iw_client); | 260 | rds_iwdev = ib_get_client_data(dev, &rds_iw_client); |
260 | if (!rds_iwdev) { | 261 | if (!rds_iwdev) { |
261 | if (printk_ratelimit()) | 262 | printk_ratelimited(KERN_NOTICE "RDS/IW: No client_data for device %s\n", |
262 | printk(KERN_NOTICE "RDS/IW: No client_data for device %s\n", | ||
263 | dev->name); | 263 | dev->name); |
264 | return -EOPNOTSUPP; | 264 | return -EOPNOTSUPP; |
265 | } | 265 | } |
@@ -365,13 +365,12 @@ static u32 rds_iw_protocol_compatible(const struct rds_iw_connect_private *dp) | |||
365 | version = RDS_PROTOCOL_3_0; | 365 | version = RDS_PROTOCOL_3_0; |
366 | while ((common >>= 1) != 0) | 366 | while ((common >>= 1) != 0) |
367 | version++; | 367 | version++; |
368 | } else if (printk_ratelimit()) { | 368 | } |
369 | printk(KERN_NOTICE "RDS: Connection from %pI4 using " | 369 | printk_ratelimited(KERN_NOTICE "RDS: Connection from %pI4 using " |
370 | "incompatible protocol version %u.%u\n", | 370 | "incompatible protocol version %u.%u\n", |
371 | &dp->dp_saddr, | 371 | &dp->dp_saddr, |
372 | dp->dp_protocol_major, | 372 | dp->dp_protocol_major, |
373 | dp->dp_protocol_minor); | 373 | dp->dp_protocol_minor); |
374 | } | ||
375 | return version; | 374 | return version; |
376 | } | 375 | } |
377 | 376 | ||
diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c index 6deaa77495e..4e1de171866 100644 --- a/net/rds/iw_rdma.c +++ b/net/rds/iw_rdma.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | #include <linux/kernel.h> | 33 | #include <linux/kernel.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
35 | #include <linux/ratelimit.h> | ||
35 | 36 | ||
36 | #include "rds.h" | 37 | #include "rds.h" |
37 | #include "iw.h" | 38 | #include "iw.h" |
@@ -83,7 +84,8 @@ static int rds_iw_map_fastreg(struct rds_iw_mr_pool *pool, | |||
83 | static void rds_iw_free_fastreg(struct rds_iw_mr_pool *pool, struct rds_iw_mr *ibmr); | 84 | static void rds_iw_free_fastreg(struct rds_iw_mr_pool *pool, struct rds_iw_mr *ibmr); |
84 | static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool, | 85 | static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool, |
85 | struct list_head *unmap_list, | 86 | struct list_head *unmap_list, |
86 | struct list_head *kill_list); | 87 | struct list_head *kill_list, |
88 | int *unpinned); | ||
87 | static void rds_iw_destroy_fastreg(struct rds_iw_mr_pool *pool, struct rds_iw_mr *ibmr); | 89 | static void rds_iw_destroy_fastreg(struct rds_iw_mr_pool *pool, struct rds_iw_mr *ibmr); |
88 | 90 | ||
89 | static int rds_iw_get_device(struct rds_sock *rs, struct rds_iw_device **rds_iwdev, struct rdma_cm_id **cm_id) | 91 | static int rds_iw_get_device(struct rds_sock *rs, struct rds_iw_device **rds_iwdev, struct rdma_cm_id **cm_id) |
@@ -498,7 +500,7 @@ static int rds_iw_flush_mr_pool(struct rds_iw_mr_pool *pool, int free_all) | |||
498 | LIST_HEAD(unmap_list); | 500 | LIST_HEAD(unmap_list); |
499 | LIST_HEAD(kill_list); | 501 | LIST_HEAD(kill_list); |
500 | unsigned long flags; | 502 | unsigned long flags; |
501 | unsigned int nfreed = 0, ncleaned = 0, free_goal; | 503 | unsigned int nfreed = 0, ncleaned = 0, unpinned = 0, free_goal; |
502 | int ret = 0; | 504 | int ret = 0; |
503 | 505 | ||
504 | rds_iw_stats_inc(s_iw_rdma_mr_pool_flush); | 506 | rds_iw_stats_inc(s_iw_rdma_mr_pool_flush); |
@@ -523,7 +525,8 @@ static int rds_iw_flush_mr_pool(struct rds_iw_mr_pool *pool, int free_all) | |||
523 | * will be destroyed by the unmap function. | 525 | * will be destroyed by the unmap function. |
524 | */ | 526 | */ |
525 | if (!list_empty(&unmap_list)) { | 527 | if (!list_empty(&unmap_list)) { |
526 | ncleaned = rds_iw_unmap_fastreg_list(pool, &unmap_list, &kill_list); | 528 | ncleaned = rds_iw_unmap_fastreg_list(pool, &unmap_list, |
529 | &kill_list, &unpinned); | ||
527 | /* If we've been asked to destroy all MRs, move those | 530 | /* If we've been asked to destroy all MRs, move those |
528 | * that were simply cleaned to the kill list */ | 531 | * that were simply cleaned to the kill list */ |
529 | if (free_all) | 532 | if (free_all) |
@@ -547,6 +550,7 @@ static int rds_iw_flush_mr_pool(struct rds_iw_mr_pool *pool, int free_all) | |||
547 | spin_unlock_irqrestore(&pool->list_lock, flags); | 550 | spin_unlock_irqrestore(&pool->list_lock, flags); |
548 | } | 551 | } |
549 | 552 | ||
553 | atomic_sub(unpinned, &pool->free_pinned); | ||
550 | atomic_sub(ncleaned, &pool->dirty_count); | 554 | atomic_sub(ncleaned, &pool->dirty_count); |
551 | atomic_sub(nfreed, &pool->item_count); | 555 | atomic_sub(nfreed, &pool->item_count); |
552 | 556 | ||
@@ -729,8 +733,8 @@ static int rds_iw_rdma_build_fastreg(struct rds_iw_mapping *mapping) | |||
729 | failed_wr = &f_wr; | 733 | failed_wr = &f_wr; |
730 | ret = ib_post_send(ibmr->cm_id->qp, &f_wr, &failed_wr); | 734 | ret = ib_post_send(ibmr->cm_id->qp, &f_wr, &failed_wr); |
731 | BUG_ON(failed_wr != &f_wr); | 735 | BUG_ON(failed_wr != &f_wr); |
732 | if (ret && printk_ratelimit()) | 736 | if (ret) |
733 | printk(KERN_WARNING "RDS/IW: %s:%d ib_post_send returned %d\n", | 737 | printk_ratelimited(KERN_WARNING "RDS/IW: %s:%d ib_post_send returned %d\n", |
734 | __func__, __LINE__, ret); | 738 | __func__, __LINE__, ret); |
735 | return ret; | 739 | return ret; |
736 | } | 740 | } |
@@ -751,8 +755,8 @@ static int rds_iw_rdma_fastreg_inv(struct rds_iw_mr *ibmr) | |||
751 | 755 | ||
752 | failed_wr = &s_wr; | 756 | failed_wr = &s_wr; |
753 | ret = ib_post_send(ibmr->cm_id->qp, &s_wr, &failed_wr); | 757 | ret = ib_post_send(ibmr->cm_id->qp, &s_wr, &failed_wr); |
754 | if (ret && printk_ratelimit()) { | 758 | if (ret) { |
755 | printk(KERN_WARNING "RDS/IW: %s:%d ib_post_send returned %d\n", | 759 | printk_ratelimited(KERN_WARNING "RDS/IW: %s:%d ib_post_send returned %d\n", |
756 | __func__, __LINE__, ret); | 760 | __func__, __LINE__, ret); |
757 | goto out; | 761 | goto out; |
758 | } | 762 | } |
@@ -827,7 +831,8 @@ static void rds_iw_free_fastreg(struct rds_iw_mr_pool *pool, | |||
827 | 831 | ||
828 | static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool, | 832 | static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool, |
829 | struct list_head *unmap_list, | 833 | struct list_head *unmap_list, |
830 | struct list_head *kill_list) | 834 | struct list_head *kill_list, |
835 | int *unpinned) | ||
831 | { | 836 | { |
832 | struct rds_iw_mapping *mapping, *next; | 837 | struct rds_iw_mapping *mapping, *next; |
833 | unsigned int ncleaned = 0; | 838 | unsigned int ncleaned = 0; |
@@ -854,6 +859,7 @@ static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool, | |||
854 | 859 | ||
855 | spin_lock_irqsave(&pool->list_lock, flags); | 860 | spin_lock_irqsave(&pool->list_lock, flags); |
856 | list_for_each_entry_safe(mapping, next, unmap_list, m_list) { | 861 | list_for_each_entry_safe(mapping, next, unmap_list, m_list) { |
862 | *unpinned += mapping->m_sg.len; | ||
857 | list_move(&mapping->m_list, &laundered); | 863 | list_move(&mapping->m_list, &laundered); |
858 | ncleaned++; | 864 | ncleaned++; |
859 | } | 865 | } |
diff --git a/net/rds/iw_send.c b/net/rds/iw_send.c index 545d8ee3efb..e40c3c5db2c 100644 --- a/net/rds/iw_send.c +++ b/net/rds/iw_send.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/in.h> | 34 | #include <linux/in.h> |
35 | #include <linux/device.h> | 35 | #include <linux/device.h> |
36 | #include <linux/dmapool.h> | 36 | #include <linux/dmapool.h> |
37 | #include <linux/ratelimit.h> | ||
37 | 38 | ||
38 | #include "rds.h" | 39 | #include "rds.h" |
39 | #include "iw.h" | 40 | #include "iw.h" |
@@ -258,8 +259,7 @@ void rds_iw_send_cq_comp_handler(struct ib_cq *cq, void *context) | |||
258 | * when the SEND completes. */ | 259 | * when the SEND completes. */ |
259 | break; | 260 | break; |
260 | default: | 261 | default: |
261 | if (printk_ratelimit()) | 262 | printk_ratelimited(KERN_NOTICE |
262 | printk(KERN_NOTICE | ||
263 | "RDS/IW: %s: unexpected opcode 0x%x in WR!\n", | 263 | "RDS/IW: %s: unexpected opcode 0x%x in WR!\n", |
264 | __func__, send->s_wr.opcode); | 264 | __func__, send->s_wr.opcode); |
265 | break; | 265 | break; |
diff --git a/net/rds/page.c b/net/rds/page.c index d8acdebe3c7..b82d63e77b0 100644 --- a/net/rds/page.c +++ b/net/rds/page.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | #include <linux/highmem.h> | 33 | #include <linux/highmem.h> |
34 | #include <linux/gfp.h> | 34 | #include <linux/gfp.h> |
35 | #include <linux/cpu.h> | ||
35 | 36 | ||
36 | #include "rds.h" | 37 | #include "rds.h" |
37 | 38 | ||
diff --git a/net/rds/send.c b/net/rds/send.c index d58ae5f9339..aa57e22539e 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <net/sock.h> | 35 | #include <net/sock.h> |
36 | #include <linux/in.h> | 36 | #include <linux/in.h> |
37 | #include <linux/list.h> | 37 | #include <linux/list.h> |
38 | #include <linux/ratelimit.h> | ||
38 | 39 | ||
39 | #include "rds.h" | 40 | #include "rds.h" |
40 | 41 | ||
@@ -1006,16 +1007,14 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
1006 | goto out; | 1007 | goto out; |
1007 | 1008 | ||
1008 | if (rm->rdma.op_active && !conn->c_trans->xmit_rdma) { | 1009 | if (rm->rdma.op_active && !conn->c_trans->xmit_rdma) { |
1009 | if (printk_ratelimit()) | 1010 | printk_ratelimited(KERN_NOTICE "rdma_op %p conn xmit_rdma %p\n", |
1010 | printk(KERN_NOTICE "rdma_op %p conn xmit_rdma %p\n", | ||
1011 | &rm->rdma, conn->c_trans->xmit_rdma); | 1011 | &rm->rdma, conn->c_trans->xmit_rdma); |
1012 | ret = -EOPNOTSUPP; | 1012 | ret = -EOPNOTSUPP; |
1013 | goto out; | 1013 | goto out; |
1014 | } | 1014 | } |
1015 | 1015 | ||
1016 | if (rm->atomic.op_active && !conn->c_trans->xmit_atomic) { | 1016 | if (rm->atomic.op_active && !conn->c_trans->xmit_atomic) { |
1017 | if (printk_ratelimit()) | 1017 | printk_ratelimited(KERN_NOTICE "atomic_op %p conn xmit_atomic %p\n", |
1018 | printk(KERN_NOTICE "atomic_op %p conn xmit_atomic %p\n", | ||
1019 | &rm->atomic, conn->c_trans->xmit_atomic); | 1018 | &rm->atomic, conn->c_trans->xmit_atomic); |
1020 | ret = -EOPNOTSUPP; | 1019 | ret = -EOPNOTSUPP; |
1021 | goto out; | 1020 | goto out; |
diff --git a/net/rds/tcp_stats.c b/net/rds/tcp_stats.c index d5898d03cd6..f8a7954f1f5 100644 --- a/net/rds/tcp_stats.c +++ b/net/rds/tcp_stats.c | |||
@@ -40,7 +40,7 @@ | |||
40 | DEFINE_PER_CPU(struct rds_tcp_statistics, rds_tcp_stats) | 40 | DEFINE_PER_CPU(struct rds_tcp_statistics, rds_tcp_stats) |
41 | ____cacheline_aligned; | 41 | ____cacheline_aligned; |
42 | 42 | ||
43 | static const char const *rds_tcp_stat_names[] = { | 43 | static const char * const rds_tcp_stat_names[] = { |
44 | "tcp_data_ready_calls", | 44 | "tcp_data_ready_calls", |
45 | "tcp_write_space_calls", | 45 | "tcp_write_space_calls", |
46 | "tcp_sndbuf_full", | 46 | "tcp_sndbuf_full", |