1. 11 6月, 2015 3 次提交
  2. 05 6月, 2015 1 次提交
    • T
      SUNRPC: Fix a backchannel race · 0d2a970d
      Trond Myklebust 提交于
      We need to allow the server to send a new request immediately after we've
      replied to the previous one. Right now, there is a window between the
      send and the release of the old request in rpc_put_task(), where the
      server could send us a new backchannel RPC call, and we have no
      request to service it.
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      0d2a970d
  3. 10 2月, 2015 1 次提交
  4. 09 2月, 2015 3 次提交
  5. 28 11月, 2014 1 次提交
  6. 25 9月, 2014 1 次提交
  7. 04 6月, 2014 1 次提交
  8. 18 4月, 2014 1 次提交
  9. 30 3月, 2014 1 次提交
  10. 02 10月, 2013 1 次提交
  11. 26 4月, 2013 1 次提交
    • J
      SUNRPC: allow disabling idle timeout · 33d90ac0
      J. Bruce Fields 提交于
      In the gss-proxy case we don't want to have to reconnect at random--we
      want to connect only on gss-proxy startup when we can steal gss-proxy's
      context to do the connect in the right namespace.
      
      So, provide a flag that allows the rpc_create caller to turn off the
      idle timeout.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      33d90ac0
  12. 15 4月, 2013 2 次提交
  13. 01 2月, 2013 2 次提交
  14. 29 9月, 2012 1 次提交
  15. 07 9月, 2012 1 次提交
    • T
      SUNRPC: Fix a UDP transport regression · f39c1bfb
      Trond Myklebust 提交于
      Commit 43cedbf0 (SUNRPC: Ensure that
      we grab the XPRT_LOCK before calling xprt_alloc_slot) is causing
      hangs in the case of NFS over UDP mounts.
      
      Since neither the UDP or the RDMA transport mechanism use dynamic slot
      allocation, we can skip grabbing the socket lock for those transports.
      Add a new rpc_xprt_op to allow switching between the TCP and UDP/RDMA
      case.
      
      Note that the NFSv4.1 back channel assigns the slot directly
      through rpc_run_bc_task, so we can ignore that case.
      Reported-by: NDick Streefland <dick.streefland@altium.nl>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@vger.kernel.org [>= 3.1]
      f39c1bfb
  16. 01 8月, 2012 1 次提交
    • M
      nfs: enable swap on NFS · a564b8f0
      Mel Gorman 提交于
      Implement the new swapfile a_ops for NFS and hook up ->direct_IO.  This
      will set the NFS socket to SOCK_MEMALLOC and run socket reconnect under
      PF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol
      ->connect() method.
      
      PF_MEMALLOC should allow the allocation of struct socket and related
      objects and the early (re)setting of SOCK_MEMALLOC should allow us to
      receive the packets required for the TCP connection buildup.
      
      [jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]
      [dfeng@redhat.com: Fix handling of multiple swap files]
      [a.p.zijlstra@chello.nl: Original patch]
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Eric B Munson <emunson@mgebm.net>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Xiaotian Feng <dfeng@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a564b8f0
  17. 03 3月, 2012 1 次提交
  18. 17 2月, 2012 1 次提交
    • A
      SUNRPC: add sending,pending queue and max slot to xprt stats · 15a45206
      Andy Adamson 提交于
      With static RPC slots, the xprt backlog queue stats were useful in showing
      when the transport (TCP) was starved by lack of RPC slots. The new dynamic
      RPC slot code, commit d9ba131d, always
      provides an RPC slot and so only uses the xprt backlog queue when the
      tcp_max_slot_table_entries value has been hit or when an allocation error
      occurs. All requests are now placed on the xprt sending or pending queue which
      need to be monitored for debugging.
      
      The max_slot stat shows the maximum number of dynamic RPC slots reached which is
      useful when debugging performance issues.
      
      Add the new fields at the end of the mountstats xprt stanza so that mountstats
      outputs the previous correct values and ignores the new fields. Bump
      NFS_IOSTATS_VERS.
      Signed-off-by: NAndy Adamson <andros@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      15a45206
  19. 07 2月, 2012 1 次提交
  20. 18 7月, 2011 4 次提交
  21. 15 7月, 2011 1 次提交
  22. 28 5月, 2011 1 次提交
    • C
      SUNRPC: Support for RPC over AF_LOCAL transports · 176e21ee
      Chuck Lever 提交于
      TI-RPC introduces the capability of performing RPC over AF_LOCAL
      sockets.  It uses this mainly for registering and unregistering
      local RPC services securely with the local rpcbind, but we could
      also conceivably use it as a generic upcall mechanism.
      
      This patch provides a client-side only implementation for the moment.
      We might also consider a server-side implementation to provide
      AF_LOCAL access to NLM (for statd downcalls, and such like).
      
      Autobinding is not supported on kernel AF_LOCAL transports at this
      time.  Kernel ULPs must specify the pathname of the remote endpoint
      when an AF_LOCAL transport is created.  rpcbind supports registering
      services available via AF_LOCAL, so the kernel could handle it with
      some adjustment to ->rpcbind and ->set_port.  But we don't need this
      feature for doing upcalls via well-known named sockets.
      
      This has not been tested with ULPs that move a substantial amount of
      data.  Thus, I can't attest to how robust the write_space and
      congestion management logic is.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      176e21ee
  23. 18 3月, 2011 1 次提交
  24. 12 1月, 2011 1 次提交
  25. 02 10月, 2010 4 次提交
  26. 04 8月, 2010 1 次提交
  27. 15 5月, 2010 2 次提交
    • T
      SUNRPC: Move the task->tk_bytes_sent and tk_rtt to struct rpc_rqst · d60dbb20
      Trond Myklebust 提交于
      It seems strange to maintain stats for bytes_sent in one structure, and
      bytes received in another. Try to assemble all the RPC request-related
      stats in struct rpc_rqst
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d60dbb20
    • C
      SUNRPC: Replace jiffies-based metrics with ktime-based metrics · ff839970
      Chuck Lever 提交于
      Currently RPC performance metrics that tabulate elapsed time use
      jiffies time values.  This is problematic on systems that use slow
      jiffies (for instance 100HZ systems built for paravirtualized
      environments).  It is also a problem for computing precise latency
      statistics for advanced network transports, such as InfiniBand,
      that can have round-trip latencies significanly faster than a single
      clock tick.
      
      For the RPC client, adopt the high resolution time stamp mechanism
      already used by the network layer and blktrace: ktime.
      
      We use ktime format time stamps for all internal computations, and
      convert to milliseconds for presentation.  As a result, we need only
      addition operations in the performance critical paths; multiply/divide
      is required only for presentation.
      
      We could report RTT metrics in microseconds.  In fact the mountstats
      format is versioned to accomodate exactly this kind of interface
      improvement.
      
      For now, however, we'll stay with millisecond precision for
      presentation to maintain backwards compatibility with the handful of
      currently deployed user space tools.  At a later point, we'll move to
      an API such as BDI_STATS where a finer timestamp precision can be
      reported.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      ff839970