1. 16 8月, 2017 1 次提交
  2. 12 8月, 2017 5 次提交
  3. 08 8月, 2017 7 次提交
  4. 02 8月, 2017 1 次提交
  5. 14 7月, 2017 12 次提交
  6. 13 7月, 2017 9 次提交
  7. 29 6月, 2017 5 次提交
    • C
      svcrdma: Don't account for Receive queue "starvation" · 2d6491a5
      Chuck Lever 提交于
      >From what I can tell, calling ->recvfrom when there is no work to do
      is a normal part of operation. This is the only way svc_recv can
      tell when there is no more data ready to receive on the transport.
      
      Neither the TCP nor the UDP transport implementations have a
      "starve" metric.
      
      The cost of receive starvation accounting is bumping an atomic, which
      results in extra (IMO unnecessary) bus traffic between CPU sockets,
      while holding a spin lock.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      2d6491a5
    • C
      svcrdma: Improve Reply chunk sanity checking · ca5c76ab
      Chuck Lever 提交于
      Identify malformed transport headers and unsupported chunk
      combinations as early as possible.
      
      - Ensure that segment lengths are not crazy.
      
      - Ensure that the Reply chunk's segment count is not crazy.
      
      With a 1KB inline threshold, the largest number of Write segments
      that can be conveyed is about 60 (for a RDMA_NOMSG Reply message).
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      ca5c76ab
    • C
      svcrdma: Improve Write chunk sanity checking · 3c22f326
      Chuck Lever 提交于
      Identify malformed transport headers and unsupported chunk
      combinations as early as possible.
      
      - Reject RPC-over-RDMA messages that contain more than one Write
      chunk, since this implementation does not support more than one per
      message.
      
      - Ensure that segment lengths are not crazy.
      
      - Ensure that the chunk's segment count is not crazy.
      
      With a 1KB inline threshold, the largest number of Write segments
      that can be conveyed is about 60 (for a RDMA_NOMSG Reply message).
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      3c22f326
    • C
      svcrdma: Improve Read chunk sanity checking · e77340e0
      Chuck Lever 提交于
      Identify malformed transport headers and unsupported chunk
      combinations as early as possible.
      
      - Reject RPC-over-RDMA messages that contain more than one Read chunk,
        since this implementation currently does not support more than one
        per RPC transaction.
      
      - Ensure that segment lengths are not crazy.
      
      - Remove the segment count check. With a 1KB inline threshold, the
        largest number of Read segments that can be conveyed is about 40
        (for a RDMA_NOMSG Call message). This is nowhere near
        RPCSVC_MAXPAGES. As far as I can tell, that was just a sanity
        check and does not enforce an implementation limit.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      e77340e0
    • C
      svcrdma: Remove svc_rdma_marshal.c · a80a3234
      Chuck Lever 提交于
      svc_rdma_marshal.c has one remaining exported function --
      svc_rdma_xdr_decode_req -- and it has a single call site. Take
      the same approach as the sendto path, and move this function
      into the source file where it is called.
      
      This is a refactoring change only.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      a80a3234