Re: [PATCH 4/5] ceph: fix improper use of smp_mb__before_atomic()

From: Peter Zijlstra
Date: Tue Apr 30 2019 - 04:23:38 EST


On Mon, Apr 29, 2019 at 10:15:00PM +0200, Andrea Parri wrote:
> This barrier only applies to the read-modify-write operations; in
> particular, it does not apply to the atomic64_set() primitive.
>
> Replace the barrier with an smp_mb().
>

> @@ -541,7 +541,7 @@ static inline void __ceph_dir_set_complete(struct ceph_inode_info *ci,
> long long release_count,
> long long ordered_count)
> {
> - smp_mb__before_atomic();

same
/*
* XXX: the comment that explain this barrier goes here.
*/

> + smp_mb();

> atomic64_set(&ci->i_complete_seq[0], release_count);
> atomic64_set(&ci->i_complete_seq[1], ordered_count);
> }
> --
> 2.7.4
>