Re: [PATCH -rt] memcg: use migrate_disable()/migrate_enable( ) in memcg_check_events()
From: KAMEZAWA Hiroyuki <hidden>
Date: 2011-11-16 23:49:51
Also in:
lkml
From: KAMEZAWA Hiroyuki <hidden>
Date: 2011-11-16 23:49:51
Also in:
lkml
On Wed, 16 Nov 2011 17:18:09 +0000 Luis Henriques [off-list ref] wrote:
On Wed, Nov 16, 2011 at 06:02:42PM +0100, Thomas Gleixner wrote:quoted
On Wed, 16 Nov 2011, Steven Rostedt wrote:quoted
On Wed, 2011-11-16 at 17:16 +0800, Yong Zhang wrote:quoted
Looking at commit 4799401f [memcg: Fix race condition in memcg_check_events() with this_cpu usage], we just want to disable migration. So use the right API in -rt. This will cure below warning.No this won't work. Not even for -rt. If we disable migration but not preemption, then two tasks can take this path. And the checks in __memcg_event_check() will be corrupted because nothing is protecting the updates from two tasks going into the same path. Perhaps a local_lock would work.Yes, that's the only sensible option for now. Untested patch below.I run a quick test and it looks like the problem is gone. Cheers,
Could you CC the final patch to cgroups@vger.kernel.org ? Does this fix will go thorugh rt tree rather than -mm ? Thanks, -Kame