cgroup: Add memory barriers to plug cgroup_rstat_updated() race window
authorTejun Heo <tj@kernel.org>
Thu, 26 Apr 2018 21:29:05 +0000 (14:29 -0700)
committerTejun Heo <tj@kernel.org>
Thu, 26 Apr 2018 21:29:05 +0000 (14:29 -0700)
commit9a9e97b2f1f27ec70e3c138a790bd5627747d868
tree3478f3d670cdde6cd9023990c8ebce2e2ecd73a3
parent8f53470bab04229e93ff9e4c20338cc08b42b344
cgroup: Add memory barriers to plug cgroup_rstat_updated() race window

cgroup_rstat_updated() has a small race window where an updated
signaling can race with flush and could be lost till the next update.
This wasn't a problem for the existing usages, but we plan to use
rstat to track counters which need to be accurate.

This patch plugs the race window by synchronizing
cgroup_rstat_updated() and flush path with memory barriers around
cgroup_rstat_cpu->updated_next pointer.

Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/rstat.c