Update to 4.6-rc6
This commit is contained in:
parent
3a081cfceb
commit
ae6831e8b6
|
@ -1,4 +1,6 @@
|
|||
linux (4.6~rc5-1~exp2) UNRELEASED; urgency=medium
|
||||
linux (4.6~rc6-1~exp1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream release candidate
|
||||
|
||||
[ Martin Michlmayr ]
|
||||
* i2c-modules udeb: Add modules from i2c/busses.
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
From: Tejun Heo <tj@kernel.org>
|
||||
Subject: memcg: remove lru_add_drain_all() invocation from mem_cgroup_move_charge()
|
||||
Date: Thu, 21 Apr 2016 11:56:52 -0400
|
||||
Origin: http://permalink.gmane.org/gmane.linux.kernel.cgroups/15918
|
||||
Bug-Debian: https://bugs.debian.org/822084
|
||||
|
||||
mem_cgroup_move_charge() invokes lru_add_drain_all() so that the pvec
|
||||
pages can be moved too. lru_add_drain_all() schedules and flushes
|
||||
work items on system_wq which depends on being able to create new
|
||||
kworkers to make forward progress. Since 1ed1328792ff ("sched,
|
||||
cgroup: replace signal_struct->group_rwsem with a global
|
||||
percpu_rwsem"), a new task can't be created while in the cgroup
|
||||
migration path and the described lru_add_drain_all() invocation can
|
||||
easily lead to a deadlock.
|
||||
|
||||
Charge moving is best-effort and whether the pvec pages are migrated
|
||||
or not doesn't really matter. Don't call it during charge moving.
|
||||
Eventually, we want to move the actual charge moving outside the
|
||||
migration path.
|
||||
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Debugged-and-tested-by: Petr Mladek <pmladek@suse.com>
|
||||
Reported-by: Cyril Hrubis <chrubis@suse.cz>
|
||||
Reported-by: Johannes Weiner <hannes@cmpxchg.org>
|
||||
Suggested-by: Michal Hocko <mhocko@kernel.org>
|
||||
Acked-by: Michal Hocko <mhocko@suse.com>
|
||||
Fixes: 1ed1328792ff ("sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem")
|
||||
Cc: stable@vger.kernel.org # v4.4+
|
||||
---
|
||||
mm/memcontrol.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/mm/memcontrol.c
|
||||
+++ b/mm/memcontrol.c
|
||||
@@ -4859,7 +4859,6 @@ static void mem_cgroup_move_charge(struc
|
||||
.mm = mm,
|
||||
};
|
||||
|
||||
- lru_add_drain_all();
|
||||
/*
|
||||
* Signal lock_page_memcg() to take the memcg's move_lock
|
||||
* while we're moving its pages to another memcg. Then wait
|
|
@ -65,7 +65,6 @@ bugfix/all/disable-some-marvell-phys.patch
|
|||
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
|
||||
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
|
||||
bugfix/all/module-invalidate-signatures-on-force-loaded-modules.patch
|
||||
bugfix/all/memcg-remove-lru_add_drain_all-invocation-from-mem_cgroup_move_charge.patch
|
||||
|
||||
# Miscellaneous features
|
||||
|
||||
|
|
Loading…
Reference in New Issue