linux/net/sunrpc
NeilBrown c487216bec SUNRPC/call_alloc: async tasks mustn't block waiting for memory
When memory is short, new worker threads cannot be created and we depend
on the minimum one rpciod thread to be able to handle everything.
So it must not block waiting for memory.

mempools are particularly a problem as memory can only be released back
to the mempool by an async rpc task running.  If all available
workqueue threads are waiting on the mempool, no thread is available to
return anything.

rpc_malloc() can block, and this might cause deadlocks.
So check RPC_IS_ASYNC(), rather than RPC_IS_SWAPPER() to determine if
blocking is acceptable.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-03-13 12:59:35 -04:00
..
auth_gss SUNRPC/auth_gss: Convert GFP_NOFS to GFP_KERNEL 2022-02-25 18:50:12 -05:00
xprtrdma SUNRPC/call_alloc: async tasks mustn't block waiting for memory 2022-03-13 12:59:35 -04:00
addr.c nfsd: don't alloc under spinlock in rpc_parse_scope_id 2021-09-21 17:51:47 -04:00
auth.c sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs 2020-06-11 13:33:48 -04:00
auth_null.c
auth_unix.c SUNRPC: Convert GFP_NOFS to GFP_KERNEL 2022-02-25 18:50:12 -05:00
backchannel_rqst.c The one new feature this time, from Anna Schumaker, is READ_PLUS, which 2020-10-22 09:44:27 -07:00
cache.c proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
clnt.c SUNRPC: Convert GFP_NOFS to GFP_KERNEL 2022-02-25 18:50:12 -05:00
debugfs.c NFS Client Updates for Linux 5.15 2021-09-04 10:25:26 -07:00
fail.h SUNRPC: Server-side disconnect injection 2021-08-20 13:50:33 -04:00
Kconfig SUNRPC: remove RC4-HMAC-MD5 support from KerberosV 2020-09-11 14:39:15 +10:00
Makefile sunrpc: Create a sunrpc directory under /sys/kernel/ 2021-07-08 14:03:23 -04:00
netns.h
rpc_pipe.c fsnotify: fix fsnotify hooks in pseudo filesystems 2022-01-24 14:17:02 +01:00
rpcb_clnt.c SUNRPC: Convert GFP_NOFS to GFP_KERNEL 2022-02-25 18:50:12 -05:00
sched.c SUNRPC/call_alloc: async tasks mustn't block waiting for memory 2022-03-13 12:59:35 -04:00
socklib.c skb_copy_and_csum_bits(): don't bother with the last argument 2020-08-20 15:45:13 -04:00
socklib.h SUNRPC: Refactor xs_sendpages() 2020-03-16 12:04:33 -04:00
stats.c proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
sunrpc.h Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients 2020-09-21 10:21:10 -04:00
sunrpc_syms.c sunrpc: add IDs to multipath 2021-07-08 14:03:23 -04:00
svc.c lockd: use svc_set_num_threads() for thread start and stop 2021-12-13 13:42:58 -05:00
svc_xprt.c Highlights: 2022-01-16 07:42:58 +02:00
svcauth.c SUNRPC: Add svc_rqst::rq_auth_stat 2021-08-10 14:18:35 -04:00
svcauth_unix.c SUNRPC: Set rq_auth_stat in the pg_authenticate() callout 2021-08-10 14:18:35 -04:00
svcsock.c SUNRPC: fix ternary sign expansion bug in tracing 2021-04-22 11:02:28 -04:00
sysctl.c net/sunrpc: fix useless comparison in proc_do_xprt() 2020-11-08 16:28:25 -05:00
sysfs.c SUNRPC: lock against ->sock changing during sysfs read 2022-02-08 09:14:26 -05:00
sysfs.h SUNRPC: take a xprt offline using sysfs 2021-07-08 14:03:24 -04:00
timer.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
xdr.c SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases 2021-10-02 16:10:01 -04:00
xprt.c SUNRPC: Convert GFP_NOFS to GFP_KERNEL 2022-02-25 18:50:12 -05:00
xprtmultipath.c SUNRPC keep track of number of transports to unique addresses 2021-08-27 16:36:53 -04:00
xprtsock.c SUNRPC: lock against ->sock changing during sysfs read 2022-02-08 09:14:26 -05:00