Messages in this thread Patch in this message | | | Date | Tue, 16 Nov 2010 12:57:26 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH 3/6] memcg: make throttle_vm_writeout() memcg aware |
| |
On Fri, 12 Nov 2010 12:39:35 -0800 Greg Thelen <gthelen@google.com> wrote:
> > Odd branch ordering, but I may be OCDing again. > > > > if (mem_cgroup && memcg_dirty_info()) > > do_mem_cgroup_stuff() > > else > > do_global_stuff() > > > > would be more natural, IMO. > > I agree. I will resubmit this series with your improved branch ordering. >
Hmm. I think this patch is troublesome.
This patch will make memcg's pageout routine _not_ throttoled even when the whole system vmscan's pageout is throttoled.
So, one idea is....
Make this change == +++ b/mm/vmscan.c @@ -1844,7 +1844,7 @@ static void shrink_zone(int priority, struct zone *zone, if (inactive_anon_is_low(zone, sc)) shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0); - throttle_vm_writeout(sc->gfp_mask); + throttle_vm_writeout(sc->gfp_mask, sc->mem_cgroup); } == as
== if (!sc->mem_cgroup || throttle_vm_writeout(sc->gfp_mask, sc->mem_cgroup) == not throttled) throttole_vm_writeout(sc->gfp_mask, NULL);
Then, both of memcg and global dirty thresh will be checked.
-Kame
| |