SUNRPC: Improve observability in svc_tcp_accept()
The -ENOMEM arm could fire repeatedly if the system runs low on memory, so remove it. Don't bother to trace -EAGAIN error events, since those fire after a listener is created (with no work done) and once again after an accept has been handled successfully (again, with no work done). Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
cce4ee9c78
commit
d7900daea0
|
@ -886,13 +886,8 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt)
|
||||||
clear_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags);
|
clear_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags);
|
||||||
err = kernel_accept(sock, &newsock, O_NONBLOCK);
|
err = kernel_accept(sock, &newsock, O_NONBLOCK);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
if (err == -ENOMEM)
|
if (err != -EAGAIN)
|
||||||
printk(KERN_WARNING "%s: no more sockets!\n",
|
trace_svcsock_accept_err(xprt, serv->sv_name, err);
|
||||||
serv->sv_name);
|
|
||||||
else if (err != -EAGAIN)
|
|
||||||
net_warn_ratelimited("%s: accept failed (err %d)!\n",
|
|
||||||
serv->sv_name, -err);
|
|
||||||
trace_svcsock_accept_err(xprt, serv->sv_name, err);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (IS_ERR(sock_alloc_file(newsock, O_NONBLOCK, NULL)))
|
if (IS_ERR(sock_alloc_file(newsock, O_NONBLOCK, NULL)))
|
||||||
|
|
Loading…
Reference in New Issue