Whamcloud - gitweb
LU-8935 ptlrpc: missing barrier before wake_up 21/28321/3
authorLai Siyao <lai.siyao@intel.com>
Wed, 12 Apr 2017 21:56:50 +0000 (05:56 +0800)
committerJohn L. Hammond <john.hammond@intel.com>
Fri, 18 Aug 2017 20:51:28 +0000 (20:51 +0000)
ptlrpc_client_wake_req() misses a memory barrier, which may cause
strange errors.

Lustre-change: https://review.whamcloud.com/26583
Lustre-commit: 33033c27aae361069877d56d44714097a208aa76

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ic8e9cbaf8c07f503798b95c608477508204d9614
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/28321
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
lustre/include/lustre_net.h

index 2e342ee..f6d67c8 100644 (file)
@@ -2536,6 +2536,7 @@ ptlrpc_client_recv_or_unlink(struct ptlrpc_request *req)
 static inline void
 ptlrpc_client_wake_req(struct ptlrpc_request *req)
 {
+       smp_mb();
        if (req->rq_set == NULL)
                wake_up(&req->rq_reply_waitq);
        else