<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/sunrpc/sched.h, branch linux-2.6.18.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.18.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.18.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2006-03-20T18:44:23+00:00</updated>
<entry>
<title>SUNRPC: eliminate rpc_call()</title>
<updated>2006-03-20T18:44:23+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-03-20T18:44:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dead28da8e3fb32601d38fb32b7021122e0a3d21'/>
<id>urn:sha1:dead28da8e3fb32601d38fb32b7021122e0a3d21</id>
<content type='text'>
Clean-up: replace rpc_call() helper with direct call to rpc_call_sync.

This makes NFSv2 and NFSv3 synchronous calls more computationally
efficient, and reduces stack consumption in functions that used to
invoke rpc_call more than once.

Test plan:
Compile kernel with CONFIG_NFS enabled.  Connectathon on NFS version 2,
version 3, and version 4 mount points.

Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: introduce per-task RPC iostats</title>
<updated>2006-03-20T18:44:17+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-03-20T18:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ef759a2e54ed434b2f72b52a14edecd6d4eadf74'/>
<id>urn:sha1:ef759a2e54ed434b2f72b52a14edecd6d4eadf74</id>
<content type='text'>
Account for various things that occur while an RPC task is executed.
Separate timers for RPC round trip and RPC execution time show how
long RPC requests wait in queue before being sent.  Eventually these
will be accumulated at xprt_release time in one place where they can
be viewed from userland.

Test plan:
Compile kernel with CONFIG_NFS enabled.

Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: track length of RPC wait queues</title>
<updated>2006-03-20T18:44:15+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-03-20T18:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e19b63dafdf7d615b0d36b90990a07e7792b9d3a'/>
<id>urn:sha1:e19b63dafdf7d615b0d36b90990a07e7792b9d3a</id>
<content type='text'>
RPC wait queue length will eventually be exported to userland via the RPC
iostats interface.

Test plan:
Compile kernel with CONFIG_NFS enabled.

Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Run rpci-&gt;queue_timeout on the rpciod workqueue instead of generic</title>
<updated>2006-03-20T18:44:08+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-03-20T18:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08'/>
<id>urn:sha1:24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: switchable buffer allocation</title>
<updated>2006-01-06T19:58:55+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-01-03T08:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=02107148349f31eee7c0fb06fd7a880df73dbd20'/>
<id>urn:sha1:02107148349f31eee7c0fb06fd7a880df73dbd20</id>
<content type='text'>
 Add RPC client transport switch support for replacing buffer management
 on a per-transport basis.

 In the current IPv4 socket transport implementation, RPC buffers are
 allocated as needed for each RPC message that is sent.  Some transport
 implementations may choose to use pre-allocated buffers for encoding,
 sending, receiving, and unmarshalling RPC messages, however.  For
 transports capable of direct data placement, the buffers can be carved
 out of a pre-registered area of memory rather than from a slab cache.

 Test-plan:
 Millions of fsx operations.  Performance characterization with "sio" and
 "iozone".  Use oprofile and other tools to look for significant regression
 in CPU utilization.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4: stateful NFSv4 RPC call interface</title>
<updated>2006-01-06T19:58:40+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-01-03T08:55:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=44c288732fdbd7e38460d156a40d29590bf93bce'/>
<id>urn:sha1:44c288732fdbd7e38460d156a40d29590bf93bce</id>
<content type='text'>
 The NFSv4 model requires us to complete all RPC calls that might
 establish state on the server whether or not the user wants to
 interrupt it. We may also need to schedule new work (including
 new RPC calls) in order to cancel the new state.

 The asynchronous RPC model will allow us to ensure that RPC calls
 always complete, but in order to allow for "synchronous" RPC, we
 want to add the ability to wait for completion.
 The waits are, of course, interruptible.

 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Further cleanups</title>
<updated>2006-01-06T19:58:40+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-01-03T08:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f'/>
<id>urn:sha1:4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f</id>
<content type='text'>
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>RPC: Clean up RPC task structure</title>
<updated>2006-01-06T19:58:39+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-01-03T08:55:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=963d8fe53339128ee46a7701f2e36305f0ccff8c'/>
<id>urn:sha1:963d8fe53339128ee46a7701f2e36305f0ccff8c</id>
<content type='text'>
 Shrink the RPC task structure. Instead of storing separate pointers
 for task-&gt;tk_exit and task-&gt;tk_release, put them in a structure.

 Also pass the user data pointer as a parameter instead of passing it via
 task-&gt;tk_calldata. This enables us to nest callbacks.

 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Yet more RPC cleanups</title>
<updated>2006-01-06T19:58:39+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-01-03T08:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=abbcf28f23d53e8ec56a91f3528743913fa2694a'/>
<id>urn:sha1:abbcf28f23d53e8ec56a91f3528743913fa2694a</id>
<content type='text'>
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] RPC: Shrink struct rpc_task by switching to wait_on_bit()</title>
<updated>2005-06-22T20:07:07+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2005-06-22T17:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=96651ab341cde0fee940ec837f323d711cbfa7d5'/>
<id>urn:sha1:96651ab341cde0fee940ec837f323d711cbfa7d5</id>
<content type='text'>
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
