Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751565AbbKNPGZ (ORCPT ); Sat, 14 Nov 2015 10:06:25 -0500 Received: from gum.cmpxchg.org ([85.214.110.215]:43592 "EHLO gum.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751189AbbKNPGX (ORCPT ); Sat, 14 Nov 2015 10:06:23 -0500 Date: Sat, 14 Nov 2015 10:06:04 -0500 From: Johannes Weiner To: Vladimir Davydov Cc: David Miller , Andrew Morton , Tejun Heo , Michal Hocko , netdev@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH 02/14] mm: vmscan: simplify memcg vs. global shrinker invocation Message-ID: <20151114150604.GA28175@cmpxchg.org> References: <1447371693-25143-1-git-send-email-hannes@cmpxchg.org> <1447371693-25143-3-git-send-email-hannes@cmpxchg.org> <20151114123650.GH31308@esperanza> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151114123650.GH31308@esperanza> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1640 Lines: 38 On Sat, Nov 14, 2015 at 03:36:50PM +0300, Vladimir Davydov wrote: > On Thu, Nov 12, 2015 at 06:41:21PM -0500, Johannes Weiner wrote: > > @@ -2432,20 +2447,6 @@ static bool shrink_zone(struct zone *zone, struct scan_control *sc, > > } > > } while ((memcg = mem_cgroup_iter(root, memcg, &reclaim))); > > > > - /* > > - * Shrink the slab caches in the same proportion that > > - * the eligible LRU pages were scanned. > > - */ > > - if (global_reclaim(sc) && is_classzone) > > - shrink_slab(sc->gfp_mask, zone_to_nid(zone), NULL, > > - sc->nr_scanned - nr_scanned, > > - zone_lru_pages); > > - > > - if (reclaim_state) { > > - sc->nr_reclaimed += reclaim_state->reclaimed_slab; > > - reclaim_state->reclaimed_slab = 0; > > - } > > - > > AFAICS this patch deadly breaks memcg-unaware shrinkers vs LRU balance: > currently we scan (*total* LRU scanned / *total* LRU pages) of all such > objects; with this patch we'd use the numbers from the root cgroup > instead. If most processes reside in memory cgroups, the root cgroup > will have only a few LRU pages and hence the pressure exerted upon such > objects will be unfairly severe. You're absolutely right, good catch. Please disregard this patch. It's not necessary for this series after v2, I just kept it because I thought it's a nice simplification that's possible after making root_mem_cgroup public. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/