Messages in this thread | | | Date | Fri, 19 Nov 2010 12:16:52 +0100 | From | Johannes Weiner <> | Subject | Re: [PATCH 3/6] memcg: make throttle_vm_writeout() memcg aware |
| |
Hello,
On Tue, Nov 16, 2010 at 12:57:26PM +0900, KAMEZAWA Hiroyuki wrote: > 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.
Good point, both limits should apply.
I'd prefer to stuff it all into throttle_vm_writeout() and not encode memcg-specific behaviour into the caller, though.
| |