linux/fs/nfs
Trond Myklebust 5d00837b90 SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs
An audit of the current RPC timeout functions shows that they don't really
ever need to run in the softirq context. As long as the softirq is
able to signal that the wakeup is due to a timeout (which it can do by
setting task->tk_status to -ETIMEDOUT) then the callback functions can just
run as standard task->tk_callback functions (in the rpciod/process
context).

The only possible border-line case would be xprt_timer() for the case of
UDP, when the callback is used to reduce the size of the transport
congestion window. In testing, however, the effect of moving that update
to a callback would appear to be minor.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-02-25 21:40:44 -08:00
..
Makefile [NFS] [PATCH] nfs: tiny makefile cleanup 2007-10-09 17:15:36 -04:00
callback.c Wrap buffers used for rpc debug printks into RPC_IFDEBUG 2008-02-21 18:42:29 -05:00
callback.h NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in 2008-01-30 02:05:55 -05:00
callback_proc.c NFSv4: Iterate through all nfs_clients when the server recalls a delegation 2008-01-30 02:06:12 -05:00
callback_xdr.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
client.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
delegation.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
delegation.h NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode 2008-01-30 02:06:12 -05:00
dir.c NFS: remove error field from nfs_readdir_descriptor_t 2008-02-13 23:24:07 -05:00
direct.c NFS: Ensure that the asynchronous RPC calls complete on nfsiod. 2008-02-25 21:40:37 -08:00
file.c NFS: nfs_write_end clean up 2008-01-30 02:06:02 -05:00
getroot.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
idmap.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
inode.c NFS: Add an nfsiod workqueue 2008-02-25 21:40:36 -08:00
internal.h NFS: Add an nfsiod workqueue 2008-02-25 21:40:36 -08:00
iostat.h
mount_clnt.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
namespace.c Introduce path_put() 2008-02-14 21:13:33 -08:00
nfs2xdr.c NFS: Use unsigned intermediates for manipulating header lengths (NFSv2 XDR) 2008-01-30 02:05:44 -05:00
nfs3acl.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
nfs3proc.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
nfs3xdr.c NFS: Use unsigned intermediates for manipulating header lengths (NFSv3 XDR) 2008-01-30 02:05:44 -05:00
nfs4_fs.h NFSv4: Give the lock stateid its own sequence queue 2008-01-10 13:35:32 -08:00
nfs4namespace.c NFS: Adjust nfs_clone_mount structure to store "struct sockaddr *" 2008-01-30 02:05:56 -05:00
nfs4proc.c SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs 2008-02-25 21:40:44 -08:00
nfs4renewd.c NFSv4: Fix circular locking dependency in nfs4_kill_renewd 2008-01-03 09:37:16 -05:00
nfs4state.c SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs 2008-02-25 21:40:44 -08:00
nfs4xdr.c NFS: Ensure NFSv4 SETCLIENTID send buffer is large enough 2008-01-30 02:05:51 -05:00
nfsroot.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
pagelist.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
proc.c NLM/NFS: Use cached nlm_host when calling nlmclnt_proc() 2008-01-30 02:06:07 -05:00
read.c NFS: Ensure that the asynchronous RPC calls complete on nfsiod. 2008-02-25 21:40:37 -08:00
super.c NFS: add missing spkm3 strings to mount option parser 2008-02-13 23:24:08 -05:00
symlink.c
sysctl.c
unlink.c NFS/SUNRPC: Convert all users of rpc_call_setup() 2008-01-30 02:05:32 -05:00
write.c NFS: Ensure that the asynchronous RPC calls complete on nfsiod. 2008-02-25 21:40:37 -08:00