)]}'
{
  "log": [
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262ca07de4d7f1bff20361c1353bb14b3607afb2",
      "tree": "e448a66b4549bbd660f76e81da0067d762a4732e",
      "parents": [
        "e19b63dafdf7d615b0d36b90990a07e7792b9d3a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "message": "SUNRPC: add a handful of per-xprt counters\n\nMonitor generic transport events.  Add a transport switch callout to\nformat transport counters for export to user-land.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b079fa7baa86b47579f3f60f86d03d21c76159b8",
      "tree": "a62d8d031315459083d546e639faaa5ce0162a03",
      "parents": [
        "3e1ec1f43307575d4e04c513aa3c30d69c32b9dc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 13 16:13:52 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 23:11:54 2005 -0500"
      },
      "message": "RPC: Do not block on skb allocation\n\n If we get something like the following,\n [  125.300636]  [\u003cc04086e1\u003e] schedule_timeout+0x54/0xa5\n [  125.305931]  [\u003cc040866e\u003e] io_schedule_timeout+0x29/0x33\n [  125.311495]  [\u003cc02880c4\u003e] blk_congestion_wait+0x70/0x85\n [  125.317058]  [\u003cc014136b\u003e] throttle_vm_writeout+0x69/0x7d\n [  125.322720]  [\u003cc014714d\u003e] shrink_zone+0xe0/0xfa\n [  125.327560]  [\u003cc01471d4\u003e] shrink_caches+0x6d/0x6f\n [  125.332581]  [\u003cc01472a6\u003e] try_to_free_pages+0xd0/0x1b5\n [  125.338056]  [\u003cc013fa4b\u003e] __alloc_pages+0x135/0x2e8\n [  125.343258]  [\u003cc03b74ad\u003e] tcp_sendmsg+0xaa0/0xb78\n [  125.348281]  [\u003cc03d4666\u003e] inet_sendmsg+0x48/0x53\n [  125.353212]  [\u003cc0388716\u003e] sock_sendmsg+0xb8/0xd3\n [  125.358147]  [\u003cc0388773\u003e] kernel_sendmsg+0x42/0x4f\n [  125.363259]  [\u003cc038bc00\u003e] sock_no_sendpage+0x5e/0x77\n [  125.368556]  [\u003cc03ee7af\u003e] xs_tcp_send_request+0x2af/0x375\n then the socket is blocked until memory is reclaimed, and no\n progress can ever be made.\n\n Try to access the emergency pools by using GFP_ATOMIC.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c556b754967afd0878d65de2cfe0675577b0f62f",
      "tree": "fac27d23ff5230bef203fa30f26ba9faee56d987",
      "parents": [
        "6bfc93ef98f00b38f1913a7fdeae46ae8dbd7c52"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 12:24:48 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:45 2005 -0500"
      },
      "message": "SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled\n\n The sunrpc module should build properly even when CONFIG_SYSCTL is\n disabled.\n\n Reported by Jan-Benedict Glaw.\n\n Test plan:\n Compile kernel with CONFIG_NFS as a module and built-in, and CONFIG_SYSCTL\n enabled and disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "470056c288334eb0b37be26c9ff8aee37ed1cc7a",
      "tree": "8c76a17c31c5dadbd4438a11d64364cdbe164c40",
      "parents": [
        "03bf4b707eee06706c9db343dd5c905b7ee47ed2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:56 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:55 2005 -0400"
      },
      "message": "[PATCH] RPC: rationalize set_buffer_size\n\n In fact, -\u003eset_buffer_size should be completely functionless for non-UDP.\n\n Test-plan:\n Check socket buffer size on UDP sockets over time.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03bf4b707eee06706c9db343dd5c905b7ee47ed2",
      "tree": "54f89b578758e2bf2650b647ae1c7100c882a757",
      "parents": [
        "3167e12c0c424f3c323944701615343022d86418"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:53 2005 -0400"
      },
      "message": "[PATCH] RPC: parametrize various transport connect timeouts\n\n Each transport implementation can now set unique bind, connect,\n reestablishment, and idle timeout values.  These are variables,\n allowing the values to be modified dynamically.  This permits\n exponential backoff of any of these values, for instance.\n\n As an example, we implement exponential backoff for the connection\n reestablishment timeout.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3167e12c0c424f3c323944701615343022d86418",
      "tree": "952961988fe19c19fc63f9cffb5edb4566f3527f",
      "parents": [
        "529b33c6db0120126b1381faa51406dc463acdc9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:52 2005 -0400"
      },
      "message": "[PATCH] RPC: make sure to get the same local port number when reconnecting\n\n Implement a best practice: if the remote end drops our connection, try to\n reconnect using the same port number.  This is important because the NFS\n server\u0027s Duplicate Reply Cache often hashes on the source port number.\n If the client reuses the port number when it reconnects, the server\u0027s DRC\n will be more effective.\n\n Based on suggestions by Mike Eisler, Olaf Kirch, and Alexey Kuznetsky.\n\n Test-plan:\n Destructive testing.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "529b33c6db0120126b1381faa51406dc463acdc9",
      "tree": "4856a23687aa891f6a5d1c45db80190b90b0fc68",
      "parents": [
        "555ee3af161b037865793bd4bebc06b58daafde6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:50 2005 -0400"
      },
      "message": "[PATCH] RPC: allow RPC client\u0027s port range to be adjustable\n\n Select an RPC client source port between 650 and 1023 instead of between\n 1 and 800.  The old range conflicts with a number of network services.\n Provide sysctls to allow admins to select a different port range.\n\n Note that this doesn\u0027t affect user-level RPC library behavior, which\n still uses 1 to 800.\n\n Based on a suggestion by Olaf Kirch \u003cokir@suse.de\u003e.\n\n Test-plan:\n Repeated mount and unmount.  Destructive testing.  Idle timeouts.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "555ee3af161b037865793bd4bebc06b58daafde6",
      "tree": "4c72474dabffab62234db158e5b6c86ace4f9d09",
      "parents": [
        "ed63c003701a314c4893c11eceb9d68f8f46c662"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:48 2005 -0400"
      },
      "message": "[PATCH] RPC: clean up after nocong was removed\n\n Clean-up:  Move some macros that are specific to the Van Jacobson\n implementation into xprt.c.  Get rid of the cong_wait field in\n rpc_xprt, which is no longer used.  Get rid of xprt_clear_backlog.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed63c003701a314c4893c11eceb9d68f8f46c662",
      "tree": "c0567884d9cce53960061fece0ae9c2eabd0af77",
      "parents": [
        "a58dd398f5db4f73d5c581069fd70a4304cc4f0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:47 2005 -0400"
      },
      "message": "[PATCH] RPC: remove xprt-\u003enocong\n\n Get rid of the \"xprt-\u003enocong\" variable.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss with UDP mounts.\n Look for significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a58dd398f5db4f73d5c581069fd70a4304cc4f0a",
      "tree": "09e290d351c043392e7a2f8e0bc77aba90ff88ad",
      "parents": [
        "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:45 2005 -0400"
      },
      "message": "[PATCH] RPC: add a release_rqst callout to the RPC transport switch\n\n The final place where congestion control state is adjusted is in\n xprt_release, where each request is finally released.  Add a callout\n there to allow transports to perform additional processing when a\n request is about to be released.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee",
      "tree": "eee53757ac3e03d55b6c01bb0500996ba520a8bb",
      "parents": [
        "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:43 2005 -0400"
      },
      "message": "[PATCH] RPC: add generic interface for adjusting the congestion window\n\n A new interface that allows transports to adjust their congestion window\n using the Van Jacobson implementation in xprt.c is provided.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3",
      "tree": "6b2993ff1cefb69cc3cc40c3605d088ea2af3c98",
      "parents": [
        "49e9a89086b3cae784a4868ca852863e4f4ea3fe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:41 2005 -0400"
      },
      "message": "[PATCH] RPC: separate xprt_timer implementations\n\n Allow transports to hook the retransmit timer interrupt.  Some transports\n calculate their congestion window here so that a retransmit timeout has\n immediate effect on the congestion window.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49e9a89086b3cae784a4868ca852863e4f4ea3fe",
      "tree": "5ba197fc1767fee5590b892b2f19aeb3583494c4",
      "parents": [
        "12a804698b29d040b7cdd92e8a44b0e75164dae9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:40 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next method we abstract is the one that releases a transport,\n allowing another task to have access to the transport.\n\n Again, one generic version of this is provided for transports that\n don\u0027t need the RPC client to perform congestion control, and one\n version is for transports that can use the original Van Jacobson\n implementation in xprt.c.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12a804698b29d040b7cdd92e8a44b0e75164dae9",
      "tree": "9885cf95a0a2945ad8cd00de59633a0aa16a3599",
      "parents": [
        "fe3aca290f17ae4978bd73d02aa4029f1c9c024c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:38 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next several patches introduce an API that allows transports to\n choose whether the RPC client provides congestion control or whether\n the transport itself provides it.\n\n The first method we abstract is the one that serializes access to the\n RPC transport to prevent the bytes from different requests from mingling\n together.  This method provides proper request serialization and the\n opportunity to prevent new requests from being started because the\n transport is congested.\n\n The normal situation is for the transport to handle congestion control\n itself.  Although NFS over UDP was first, it has been recognized after\n years of experience that having the transport provide congestion control\n is much better than doing it in the RPC client.  Thus TCP, and probably\n every future transport implementation, will use the default method,\n xprt_lock_write, provided in xprt.c, which does not provide any kind\n of congestion control.  UDP can continue using the xprt.c-provided\n Van Jacobson congestion avoidance implementation.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe3aca290f17ae4978bd73d02aa4029f1c9c024c",
      "tree": "4fbaa255e9e7a85f41eacb7cf1214dc44a90bcea",
      "parents": [
        "43118c29dea2b23798bd42a147015cceee7fa885"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:50 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:36 2005 -0400"
      },
      "message": "[PATCH] RPC: add API to set transport-specific timeouts\n\n Prepare the way to remove the \"xprt-\u003enocong\" variable by adding a callout\n to the RPC client transport switch API to handle setting RPC retransmit\n timeouts.\n\n Add a pair of generic helper functions that provide the ability to set a\n simple fixed timeout, or to set a timeout based on the state of a round-\n trip estimator.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43118c29dea2b23798bd42a147015cceee7fa885",
      "tree": "4951a6777a3dc167d46c1373c02d21912b250e96",
      "parents": [
        "808012fbb23a52ec59352445d2076d175ad4ab26"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:35 2005 -0400"
      },
      "message": "[PATCH] RPC: get rid of xprt-\u003estream\n\n Now we can fix up the last few places that use the \"xprt-\u003estream\"\n variable, and get rid of it from the rpc_xprt structure.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "808012fbb23a52ec59352445d2076d175ad4ab26",
      "tree": "7175edb3917bc35f7f5484f567e91d7303a17663",
      "parents": [
        "262965f53defd312a294b45366ea17907b6a616b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:33 2005 -0400"
      },
      "message": "[PATCH] RPC: skip over transport-specific heads automatically\n\n Add a generic mechanism for skipping over transport-specific headers\n when constructing an RPC request.  This removes another \"xprt-\u003estream\"\n dependency.\n\n Test-plan:\n Write-intensive workload on a single mount point (try both UDP and\n TCP).\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262965f53defd312a294b45366ea17907b6a616b",
      "tree": "a5e0f194c02f230ff12d9d5b0933bad9eb8810ea",
      "parents": [
        "b0d93ad511ce2f37823a07c7a3258117a431f5fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:56 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:31 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP socket write paths\n\n Split the RPC client\u0027s main socket write path into a TCP version and a UDP\n version to eliminate another dependency on the \"xprt-\u003estream\" variable.\n\n Compiler optimization removes unneeded code from xs_sendpages, as this\n function is now called with some constant arguments.\n\n We can now cleanly perform transport protocol-specific return code testing\n and error recovery in each path.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization such as\n \"sio\" or \"iozone\".  Examine oprofile results for any changes before and\n after this patch is applied.\n\n Version: Thu, 11 Aug 2005 16:08:46 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0d93ad511ce2f37823a07c7a3258117a431f5fb",
      "tree": "a9fc753bf821d1d71c345f58e056511dfd0cf5ac",
      "parents": [
        "c7b2cae8a634015b72941ba2fc6c4bc9b8d3a129"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:53 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:29 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP transport connection logic\n\n Create separate connection worker functions for managing UDP and TCP\n transport sockets.  This eliminates several dependencies on \"xprt-\u003estream\".\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon with\n v2, v3, and v4.\n\n Version: Thu, 11 Aug 2005 16:08:18 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7b2cae8a634015b72941ba2fc6c4bc9b8d3a129",
      "tree": "95f561877d67eed80a823daa6ef0c00ad1c060eb",
      "parents": [
        "55aa4f58aa43dc9a51fb80010630d94b96053a2e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:50 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:28 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP write space callbacks\n\n Split the socket write space callback function into a TCP version and UDP\n version, eliminating one dependence on the \"xprt-\u003estream\" variable.\n\n Keep the common pieces of this path in xprt.c so other transports can use\n it too.\n\n Test-plan:\n Write-intensive workload on a single mount point.\n\n Version: Thu, 11 Aug 2005 16:07:51 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "55aa4f58aa43dc9a51fb80010630d94b96053a2e",
      "tree": "7b3d79bdc15c76c25d8a53437b9e4173ebc68f24",
      "parents": [
        "44fbac2288dfed6f1963ac00bf922c3bcd779cd1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:47 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:26 2005 -0400"
      },
      "message": "[PATCH] RPC: client-side transport switch cleanup\n\n Clean-up: change some comments to reflect the realities of the new RPC\n transport switch mechanism.  Get rid of unused xprt_receive() prototype.\n\n Also, organize function prototypes in xprt.h by usage and scope.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:07:21 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44fbac2288dfed6f1963ac00bf922c3bcd779cd1",
      "tree": "f256182f85b4fdf9185903d6f0531f877e311c8e",
      "parents": [
        "86b9f57dfdf455763d2be73a742a9a88bb664173"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:24 2005 -0400"
      },
      "message": "[PATCH] RPC: Add helper for waking tasks pending on a transport\n\n Clean-up: remove only reference to xprt-\u003epending from the socket transport\n implementation.  This makes a cleaner interface for other transport\n implementations as well.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:06:52 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2226feb6bcd0e5e117a9be3ea3dd3ffc14f3e41e",
      "tree": "5ae6bde4dd66da8932c23c780745c72cf38de722",
      "parents": [
        "5dc07727f86b25851e95193a0c484ea21b531c47"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:38 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:21 2005 -0400"
      },
      "message": "[PATCH] RPC: rename the sockstate field\n\n Clean-up: get rid of a name reference to sockets in the generic parts of the\n RPC client by renaming the sockstate field in the rpc_xprt structure.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:05:53 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a0f8c04f2ece949d54a0c4fd7490259cf23a58a",
      "tree": "6c6e142cfa37b984dcba6f785a4f886374a307c6",
      "parents": [
        "b4b5cc85ed4ecbe4adbfbc4df028850de67a9f09"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:32 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:17 2005 -0400"
      },
      "message": "[PATCH] RPC: Rename sock_lock\n\n Clean-up: replace a name reference to sockets in the generic parts of the RPC\n client by renaming sock_lock in the rpc_xprt structure.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:05:00 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4b5cc85ed4ecbe4adbfbc4df028850de67a9f09",
      "tree": "41b4a8d22847f816e555ad5e4566b9c33dea5c0f",
      "parents": [
        "9903cd1c27a1f30e8efea75e125be3b2002f7cb9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:29 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:16 2005 -0400"
      },
      "message": "[PATCH] RPC: Reduce stack utilization in xs_sendpages\n\n Reduce stack utilization of the RPC socket transport\u0027s send path.\n\n A couple of unlikely()s are added to ensure the compiler places the\n tail processing at the end of the csect.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization such as \"sio\" or\n \"iozone\".\n\n Version: Thu, 11 Aug 2005 16:04:30 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9903cd1c27a1f30e8efea75e125be3b2002f7cb9",
      "tree": "ad684d0ce47793f161839e2321f118206ef707f3",
      "parents": [
        "a246b0105bbd9a70a698f69baae2042996f2a0e9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:26 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:14 2005 -0400"
      },
      "message": "[PATCH] RPC: transport switch function naming\n\n Introduce block header comments and a function naming convention to the\n socket transport implementation.  Provide a debug setting for transports\n that is separate from RPCDBG_XPRT.  Eliminate xprt_default_timeout().\n\n Provide block comments for exposed interfaces in xprt.c, and eliminate\n the useless obvious comments.\n\n Convert printk\u0027s to dprintk\u0027s.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:04:04 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a246b0105bbd9a70a698f69baae2042996f2a0e9",
      "tree": "6c8831d8579a7fdc5201d3e9c20270cb1420eeda",
      "parents": [
        "094bb20b9fcab3a1652a77741caba6b78097d622"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:23 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:12 2005 -0400"
      },
      "message": "[PATCH] RPC: introduce client-side transport switch\n\n Move the bulk of client-side socket-specific code into a separate source\n file, net/sunrpc/xprtsock.c.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization such as \"sio\" or\n \"iozone\".  Destructive testing (unplugging the network temporarily, server\n reboots).  Connectathon with v2, v3, and v4.\n\n Version: Thu, 11 Aug 2005 16:03:38 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ]
}
