diff options
author | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2018-06-14 21:52:34 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-06-15 05:01:49 +0300 |
commit | f1693c63ab133d16994cc50f773982b5905af264 (patch) | |
tree | 42a65ff20c3536040cd60c52a1e40b199e34db6e /net/rds/recv.c | |
parent | 7f6afc338405628ae32826ce82827c3f19bf3d15 (diff) | |
download | linux-f1693c63ab133d16994cc50f773982b5905af264.tar.xz |
rds: avoid unenecessary cong_update in loop transport
Loop transport which is self loopback, remote port congestion
update isn't relevant. Infact the xmit path already ignores it.
Receive path needs to do the same.
Reported-by: syzbot+4c20b3866171ce8441d2@syzkaller.appspotmail.com
Reviewed-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/recv.c')
-rw-r--r-- | net/rds/recv.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/rds/recv.c b/net/rds/recv.c index dc67458b52f0..192ac6f78ded 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c @@ -103,6 +103,11 @@ static void rds_recv_rcvbuf_delta(struct rds_sock *rs, struct sock *sk, rds_stats_add(s_recv_bytes_added_to_socket, delta); else rds_stats_add(s_recv_bytes_removed_from_socket, -delta); + + /* loop transport doesn't send/recv congestion updates */ + if (rs->rs_transport->t_type == RDS_TRANS_LOOP) + return; + now_congested = rs->rs_rcv_bytes > rds_sk_rcvbuf(rs); rdsdebug("rs %p (%pI4:%u) recv bytes %d buf %d " |