lkml.org 
[lkml]   [2019]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.3 092/148] xprtrdma: Toggle XPRT_CONGESTED in xprtrdmas slot methods
    Date
    From: Chuck Lever <chuck.lever@oracle.com>

    [ Upstream commit 395790566eec37706dedeb94779045adc3a7581e ]

    Commit 48be539dd44a ("xprtrdma: Introduce ->alloc_slot call-out for
    xprtrdma") added a separate alloc_slot and free_slot to the RPC/RDMA
    transport. Later, commit 75891f502f5f ("SUNRPC: Support for
    congestion control when queuing is enabled") modified the generic
    alloc/free_slot methods, but neglected the methods in xprtrdma.

    Found via code review.

    Fixes: 75891f502f5f ("SUNRPC: Support for congestion control ... ")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/sunrpc/xprtrdma/transport.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c
    index 2ec349ed47702..f4763e8a67617 100644
    --- a/net/sunrpc/xprtrdma/transport.c
    +++ b/net/sunrpc/xprtrdma/transport.c
    @@ -571,6 +571,7 @@ xprt_rdma_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task)
    return;

    out_sleep:
    + set_bit(XPRT_CONGESTED, &xprt->state);
    rpc_sleep_on(&xprt->backlog, task, NULL);
    task->tk_status = -EAGAIN;
    }
    @@ -589,7 +590,8 @@ xprt_rdma_free_slot(struct rpc_xprt *xprt, struct rpc_rqst *rqst)

    memset(rqst, 0, sizeof(*rqst));
    rpcrdma_buffer_put(&r_xprt->rx_buf, rpcr_to_rdmar(rqst));
    - rpc_wake_up_next(&xprt->backlog);
    + if (unlikely(!rpc_wake_up_next(&xprt->backlog)))
    + clear_bit(XPRT_CONGESTED, &xprt->state);
    }

    static bool rpcrdma_check_regbuf(struct rpcrdma_xprt *r_xprt,
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-10-10 11:01    [W:4.090 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site