1. 04 2月, 2015 2 次提交
  2. 30 1月, 2015 2 次提交
  3. 10 12月, 2014 10 次提交
  4. 02 12月, 2014 1 次提交
  5. 28 11月, 2014 2 次提交
  6. 26 11月, 2014 1 次提交
    • C
      SUNRPC: serialize iostats updates · edef1297
      Chuck Lever 提交于
      Occasionally mountstats reports a negative retransmission rate.
      Ensure that two RPCs completing concurrently don't confuse the sums
      in the transport's op_metrics array.
      
      Since pNFS filelayout can invoke rpc_count_iostats() on another
      transport from xprt_release(), we can't rely on simply holding the
      transport_lock in xprt_release(). There's nothing for it but hard
      serialization. One spin lock per RPC operation should make this as
      painless as it can be.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      edef1297
  7. 25 11月, 2014 3 次提交
  8. 25 9月, 2014 1 次提交
  9. 18 8月, 2014 1 次提交
  10. 04 8月, 2014 3 次提交
  11. 01 8月, 2014 1 次提交
  12. 30 7月, 2014 1 次提交
  13. 24 7月, 2014 1 次提交
    • C
      svcrdma: Double the default credit limit · d9bb5a43
      Chuck Lever 提交于
      The RDMA credit limit controls how many concurrent RPCs are allowed
      per connection.
      
      An NFS/RDMA client and server exchange their credit limits in the
      RPC/RDMA headers. The Linux client and the Solaris client and server
      allow 32 credits. The Linux server allows only 16, which limits its
      performance.
      
      Set the server's default credit limit to 32, like the other well-
      known implementations, so the out-of-the-shrinkwrap performance of
      the Linux server is better.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      d9bb5a43
  14. 18 7月, 2014 1 次提交
  15. 16 7月, 2014 1 次提交
    • N
      sched: Allow wait_on_bit_action() functions to support a timeout · c1221321
      NeilBrown 提交于
      It is currently not possible for various wait_on_bit functions
      to implement a timeout.
      
      While the "action" function that is called to do the waiting
      could certainly use schedule_timeout(), there is no way to carry
      forward the remaining timeout after a false wake-up.
      As false-wakeups a clearly possible at least due to possible
      hash collisions in bit_waitqueue(), this is a real problem.
      
      The 'action' function is currently passed a pointer to the word
      containing the bit being waited on.  No current action functions
      use this pointer.  So changing it to something else will be a
      little noisy but will have no immediate effect.
      
      This patch changes the 'action' function to take a pointer to
      the "struct wait_bit_key", which contains a pointer to the word
      containing the bit so nothing is really lost.
      
      It also adds a 'private' field to "struct wait_bit_key", which
      is initialized to zero.
      
      An action function can now implement a timeout with something
      like
      
      static int timed_out_waiter(struct wait_bit_key *key)
      {
      	unsigned long waited;
      	if (key->private == 0) {
      		key->private = jiffies;
      		if (key->private == 0)
      			key->private -= 1;
      	}
      	waited = jiffies - key->private;
      	if (waited > 10 * HZ)
      		return -EAGAIN;
      	schedule_timeout(waited - 10 * HZ);
      	return 0;
      }
      
      If any other need for context in a waiter were found it would be
      easy to use ->private for some other purpose, or even extend
      "struct wait_bit_key".
      
      My particular need is to support timeouts in nfs_release_page()
      to avoid deadlocks with loopback mounted NFS.
      
      While wait_on_bit_timeout() would be a cleaner interface, it
      will not meet my need.  I need the timeout to be sensitive to
      the state of the connection with the server, which could change.
       So I need to use an 'action' interface.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Steve French <sfrench@samba.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20140707051604.28027.41257.stgit@notabene.brownSigned-off-by: NIngo Molnar <mingo@kernel.org>
      c1221321
  16. 13 7月, 2014 2 次提交
  17. 23 6月, 2014 1 次提交
  18. 07 6月, 2014 1 次提交
  19. 04 6月, 2014 1 次提交
  20. 31 5月, 2014 4 次提交