linux-stable/net/sunrpc
Trond Myklebust b079fa7baa RPC: Do not block on skb allocation
If we get something like the following,
 [  125.300636]  [<c04086e1>] schedule_timeout+0x54/0xa5
 [  125.305931]  [<c040866e>] io_schedule_timeout+0x29/0x33
 [  125.311495]  [<c02880c4>] blk_congestion_wait+0x70/0x85
 [  125.317058]  [<c014136b>] throttle_vm_writeout+0x69/0x7d
 [  125.322720]  [<c014714d>] shrink_zone+0xe0/0xfa
 [  125.327560]  [<c01471d4>] shrink_caches+0x6d/0x6f
 [  125.332581]  [<c01472a6>] try_to_free_pages+0xd0/0x1b5
 [  125.338056]  [<c013fa4b>] __alloc_pages+0x135/0x2e8
 [  125.343258]  [<c03b74ad>] tcp_sendmsg+0xaa0/0xb78
 [  125.348281]  [<c03d4666>] inet_sendmsg+0x48/0x53
 [  125.353212]  [<c0388716>] sock_sendmsg+0xb8/0xd3
 [  125.358147]  [<c0388773>] kernel_sendmsg+0x42/0x4f
 [  125.363259]  [<c038bc00>] sock_no_sendpage+0x5e/0x77
 [  125.368556]  [<c03ee7af>] xs_tcp_send_request+0x2af/0x375
 then the socket is blocked until memory is reclaimed, and no
 progress can ever be made.

 Try to access the emergency pools by using GFP_ATOMIC.

 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-12-19 23:11:54 -05:00
..
auth_gss [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
auth.c NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00
auth_null.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
auth_unix.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
cache.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
clnt.c [PATCH] SUNRPC: don't reencode when looping in call transmit. 2005-11-09 19:31:33 -08:00
Makefile [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
pmap_clnt.c SUNRPC: fix bug in patch "portmapper doesn't need a reserved port" 2005-09-23 13:54:10 -04:00
rpc_pipe.c SUNRPC: Fix Oopsable condition in rpc_pipefs 2005-12-03 15:20:10 -05:00
sched.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
socklib.c [NET]: Detect hardware rx checksum faults correctly 2005-11-10 13:01:24 -08:00
stats.c [PATCH] sunrpc: print unsigned integers in stats 2005-09-07 16:57:39 -07:00
sunrpc_syms.c SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled 2005-11-04 15:39:45 -05:00
svc.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
svcauth.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
svcauth_unix.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
svcsock.c [PATCH] knfsd: make sure nfsd doesn't hog a cpu forever 2005-11-15 08:59:19 -08:00
sysctl.c SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled 2005-11-04 15:39:45 -05:00
timer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xdr.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
xprt.c SUNRPC: Provide a callback to allow free pages allocated during xdr encoding 2005-10-18 23:19:43 -07:00
xprtsock.c RPC: Do not block on skb allocation 2005-12-19 23:11:54 -05:00