summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2016-03-14 22:40:00 (GMT)
committerDavid S. Miller <davem@davemloft.net>2016-03-14 23:38:09 (GMT)
commitacffb584cda7069b0c2c83045503ccd07516a891 (patch)
tree342e4e51d76076603adba31d93313f436cf67709
parente3ebd894f084255fde19116955ba7054858ff5d6 (diff)
downloadlinux-acffb584cda7069b0c2c83045503ccd07516a891.tar.xz
net: diag: add a scheduling point in inet_diag_dump_icsk()
On loaded TCP servers, looking at millions of sockets can hold cpu for many seconds, if the lookup condition is very narrow. (eg : ss dst 1.2.3.4 ) Better add a cond_resched() to allow other processes to access the cpu. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/inet_diag.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index 50c0d96..5fdb02f 100644
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -879,6 +879,7 @@ next_normal:
}
spin_unlock_bh(lock);
+ cond_resched();
}
done: