From: Yuval Shaia Date: Fri, 14 Jul 2017 20:41:50 +0000 (+0300) Subject: net/rds: Replace printk in TX path with stat variable X-Git-Tag: v4.1.12-106.0.20170720_1900~27 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=beb3fe60c7ffef09d851e94feb4efc1c2e852559;p=users%2Fjedix%2Flinux-maple.git net/rds: Replace printk in TX path with stat variable Printing in any form is not recommended in data path. Fix it by replacing printk with a new statistics counter. Orabug: 26402653 Signed-off-by: Yuval Shaia Reviewed-by: HÃ¥kon Bugge Reviewed-by: Shamir Rabinovitch Reviewed-by: Avinash Repaka --- diff --git a/net/rds/rds.h b/net/rds/rds.h index 264f8b43b465..8ea9d60c14b8 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h @@ -852,6 +852,7 @@ struct rds_statistics { uint64_t s_qos_threshold_exceeded; uint64_t s_recv_bytes_added_to_socket; uint64_t s_recv_bytes_removed_from_socket; + uint64_t s_send_stuck_rm; }; /* af_rds.c */ diff --git a/net/rds/send.c b/net/rds/send.c index 1a700869054e..37c7883822dc 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -249,8 +249,8 @@ restart: same_rm = 0; } else { same_rm++; - if ((same_rm >= 4096) && printk_ratelimit()) { - /* printk(KERN_ERR "RDS: Stuck rm\n"); */ + if (same_rm >= 4096) { + rds_stats_inc(s_send_stuck_rm); ret = -EAGAIN; break; } diff --git a/net/rds/stats.c b/net/rds/stats.c index 0b9a6c365ad4..463e665afd7b 100644 --- a/net/rds/stats.c +++ b/net/rds/stats.c @@ -78,6 +78,7 @@ static char *rds_stat_names[] = { "qos_threshold_exceeded", "recv_bytes_added_to_sock", "recv_bytes_freed_fromsock", + "send_stuck_rm", }; void rds_stats_info_copy(struct rds_info_iterator *iter,