Re: [PATCH v1] sunrpc: Prevent duplicate XID allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18 June 2018 at 21:55, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
> Krzysztof Kozlowski <krzk@xxxxxxxxxx> reports that a heavy NFSv4
> WRITE workload against a slow NFS server causes his Raspberry Pi
> clients to stall. Krzysztof bisected it to commit 37ac86c3a76c
> ("SUNRPC: Initialize rpc_rqst outside of xprt->reserve_lock") .
>
> I was able to reproduce similar behavior and it appears that rarely
> the RPC client layer is re-allocating an XID for an RPC that it has
> already partially sent. This results in the client ignoring the
> subsequent reply, which carries the original XID.
>
> For various reasons, checking !req->rq_xmit_bytes_sent in
> xprt_prepare_transmit is not a 100% reliable mechanism for
> determining when a fresh XID is needed.
>
> Trond's preference is to allocate the XID at the time each rpc_rqst
> slot is initialized.
>
> This patch should also address a gcc 4.1.2 complaint reported by
> Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>.
>
> Reported-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Fixes: 37ac86c3a76c ("SUNRPC: Initialize rpc_rqst outside of ... ")
> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> ---
>  net/sunrpc/xprt.c |   10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)

This fixes the problems, thanks!

Tested-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux