The following set of patches fix known issues with the 2.6.25-rc2 NFS client code, and significantly enhance the support for NFSv4.
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 15:09:26 -0500
SUNRPC: Clean up rpc_run_timer()
All RPC timeout callback functions are expected to wake the task up. We can enforce this by moving the wakeup back into rpc_run_timer.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 15:46:41 -0500
SUNRPC: Add a new helper rpc_wake_up_queued_task()
In all cases where we currently use rpc_wake_up_task(), we almost always know on which waitqueue the rpc_task is actually sleeping. This will allows us to simplify the queue locking in a future patch.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 16:34:12 -0500
SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 16:34:17 -0500
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>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 17:06:55 -0500
SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Wed, 18 Jul 2007 16:18:52 -0400
SUNRPC: Add a timer function to wait queues.
This is designed to replace the timeout timer in the individual rpc_tasks. By putting the timer function in the wait queue, we will eventually be able to reduce the total number of timers in use by the RPC subsystem.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Fri, 22 Feb 2008 17:27:59 -0500
SUNRPC: Switch tasks to using the rpc_waitqueue's timer function
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Mon, 25 Feb 2008 21:40:50 -0800
SUNRPC: Eliminate the now-redundant rpc_start_wakeup()
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Mon, 25 Feb 2008 21:40:51 -0800
SUNRPC: Ensure that we read all available tcp data
Don't stop until we run out of data, or we hit an error.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Mon, 25 Feb 2008 21:53:49 -0800
SUNRPC: Remove now-redundant RCU-safe rpc_task free path
Now that we've tightened up the locking rules for RPC queue wakeups, we can remove the RCU-safe kfree calls...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Name | Last modified | Size | Description | |
---|---|---|---|---|
Parent Directory | - | |||
linux-2.6.25-006-cle..> | 2008-02-26 05:56 | 4.0K | ||
linux-2.6.25-007-add..> | 2008-02-26 05:56 | 7.2K | ||
linux-2.6.25-008-con..> | 2008-02-26 05:56 | 4.0K | ||
linux-2.6.25-009-run..> | 2008-02-26 05:56 | 12K | ||
linux-2.6.25-010-add..> | 2008-02-26 05:56 | 4.7K | ||
linux-2.6.25-011-add..> | 2008-02-26 05:56 | 5.0K | ||
linux-2.6.25-012-swi..> | 2008-02-26 05:56 | 5.4K | ||
linux-2.6.25-013-eli..> | 2008-02-26 05:56 | 1.9K | ||
linux-2.6.25-014-ens..> | 2008-02-26 05:56 | 1.1K | ||
linux-2.6.25-015-sun..> | 2008-02-26 05:56 | 6.3K | ||
series | 2008-02-26 05:56 | 595 | ||