Hello, Balbir.
On Tue, Aug 09, 2016 at 05:02:47PM +1000, Balbir Singh wrote:
quoted
Hmm? Where does mem_cgroup_iter grab cgroup_mutex? cgroup_mutex nests
outside cgroup_threadgroup_rwsem or most other mutexes for that matter
and isn't exposed from cgroup core.
I based my theory on the code
mem_cgroup_iter -> css_next_descendant_pre which asserts
cgroup_assert_mutex_or_rcu_locked(),
although you are right, we hold RCU lock while calling css_* routines.
That's "or". The iterator can be called either with RCU lock or
cgroup_mutex. cgroup core may use it under cgroup_mutex. Everyone
else uses it with rcu.
Thanks.
--
tejun
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>