diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-04-27 11:41:14 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-04-27 11:41:14 -0700 |
commit | 763cfc86ee8fd728a7cf2334b8d3a897af7a7ade (patch) | |
tree | ac6e7ca8d6e72aec60b995e1d9cf5e5431903530 /kernel/workqueue.c | |
parent | 3118e5f966298c94efb0aade318e8ae463fab714 (diff) | |
parent | 264a0ae164bc0e9144bebcd25ff030d067b1a878 (diff) |
Merge branch 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup fixes from Tejun Heo:
"Two patches to fix a deadlock which can be easily triggered if memcg
charge moving is used.
This bug was introduced while converting threadgroup locking to a
global percpu_rwsem and is caused by cgroup controller task migration
path depending on the ability to create new kthreads. cpuset had a
similar issue which was fixed by performing heavy-lifting operations
asynchronous to task migration. The two patches fix the same issue in
memcg in a similar way. The first patch makes the mechanism generic
and the second relocates memcg charge moving outside the migration
path.
Given that we don't want to perform heavy operations while
writelocking threadgroup lock anyway, moving them out of the way is a
desirable solution. One thing to note is that the problem was
difficult to debug because lockdep couldn't figure out the deadlock
condition. Looking into how to improve that"
* 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
memcg: relocate charge moving from ->attach to ->post_attach
cgroup, cpuset: replace cpuset_post_attach_flush() with cgroup_subsys->post_attach callback
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions