lkml.org 
[lkml]   [2012]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] mm, thp: abort compaction if migration page cannot be charged to memcg
On Thu, 21 Jun 2012, David Rientjes wrote:

> It's possible that subsequent pageblocks would contain memory allocated
> from solely non-oom memcgs, but it's certainly not a guarantee and results
> in terrible performance as exhibited above. Is there another good
> criteria to use when deciding when to stop isolating and attempting to
> migrate all of these pageblocks?
>
> Other ideas?
>

The only other alternative that I can think of is to check
mem_cgroup_margin() in isolate_migratepages_range() and return a NULL
lruvec that would break that pageblock and return, and then set a bit in
struct mem_cgroup that labels it as oom so we can check for it on
subsequent pageblocks without incurring the locking to do
mem_cgroup_margin() in res_counter, and then clear that bit on every
uncharge to a memcg, but this still seems like a tremendous waste of cpu
(especially if /sys/kernel/mm/transparent_hugepage/defrag == always) if
most pageblocks contain pages from an oom memcg.


\
 
 \ /
  Last update: 2012-06-21 11:41    [W:0.052 / U:0.588 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site