On Wed, Aug 17, 2011 at 01:03:40PM -0700, a...@linux-foundation.org wrote: > > The patch titled > memcg: pin execution to current cpu while draining stock > has been added to the -mm tree. Its filename is > memcg-pin-execution-to-current-cpu-while-draining-stock.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find > out what to do about this > > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ > > ------------------------------------------------------ > Subject: memcg: pin execution to current cpu while draining stock > From: Johannes Weiner <jwei...@redhat.com> > > Commit d1a05b6 ("memcg do not try to drain per-cpu caches without pages") > added a drain_local_stock() call to a preemptible section. > > The draining task looks up the cpu-local stock twice to set the > draining-flag, then to drain the stock and clear the flag again. If the > task is migrated to a different CPU in between, noone will clear the flag > on the first stock and it will be forever undrainable. Its charge can not > be recovered and the cgroup can not be deleted anymore. > > Properly pin the task to the executing CPU while draining stocks. > > Signed-off-by: Johannes Weiner <jwei...@redhat.com> > Cc: KAMEZAWA Hiroyuki <kamezawa.hir...@jp.fujitsu.com > Cc: Michal Hocko <mho...@suse.cz> > Cc: <sta...@kernel.org> [3.0.x]
The bug was introduced only after the 3.0 release, I think a stable backport is not required. $ git describe d1a05b6 v3.0-5364-gd1a05b6 _______________________________________________ stable mailing list stable@linux.kernel.org http://linux.kernel.org/mailman/listinfo/stable