On Fri, 2023-01-06 at 12:43 -0500, Chuck Lever wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > The premise that "Once an svc thread is scheduled and executing an > RPC, no other processes will touch svc_rqst::rq_flags" is false. > svc_xprt_enqueue() examines the RQ_BUSY flag in scheduled nfsd > threads when determining which thread to wake up next. > > Found via KCSAN. > > Fixes: 28df0988815f ("SUNRPC: Use RMW bitops in single-threaded hot paths") > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > fs/nfsd/nfs4proc.c | 7 +++---- > fs/nfsd/nfs4xdr.c | 2 +- > net/sunrpc/auth_gss/svcauth_gss.c | 4 ++-- > net/sunrpc/svc.c | 6 +++--- > net/sunrpc/svc_xprt.c | 2 +- > net/sunrpc/svcsock.c | 8 ++++---- > net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- > 7 files changed, 15 insertions(+), 16 deletions(-) > Makes sense. Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>