From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751533Ab2JQVqs (ORCPT ); Wed, 17 Oct 2012 17:46:48 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:65082 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750854Ab2JQVqr (ORCPT ); Wed, 17 Oct 2012 17:46:47 -0400 Date: Wed, 17 Oct 2012 14:46:44 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Glauber Costa cc: linux-mm@kvack.org, cgroups@vger.kernel.org, Mel Gorman , Tejun Heo , Andrew Morton , Michal Hocko , Johannes Weiner , kamezawa.hiroyu@jp.fujitsu.com, Christoph Lameter , Pekka Enberg , devel@openvz.org, linux-kernel@vger.kernel.org, Suleiman Souhlal Subject: Re: [PATCH v5 02/14] memcg: Reclaim when more than one page needed. In-Reply-To: <1350382611-20579-3-git-send-email-glommer@parallels.com> Message-ID: References: <1350382611-20579-1-git-send-email-glommer@parallels.com> <1350382611-20579-3-git-send-email-glommer@parallels.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 16 Oct 2012, Glauber Costa wrote: > From: Suleiman Souhlal > > mem_cgroup_do_charge() was written before kmem accounting, and expects > three cases: being called for 1 page, being called for a stock of 32 > pages, or being called for a hugepage. If we call for 2 or 3 pages (and > both the stack and several slabs used in process creation are such, at > least with the debug options I had), it assumed it's being called for > stock and just retried without reclaiming. > > Fix that by passing down a minsize argument in addition to the csize. > > And what to do about that (csize == PAGE_SIZE && ret) retry? If it's I think you're referring to the (nr_pages == 1 && ret) retry, csize is only used for interfacing with res_counter. > needed at all (and presumably is since it's there, perhaps to handle > races), then it should be extended to more than PAGE_SIZE, yet how far? > And should there be a retry count limit, of what? For now retry up to > COSTLY_ORDER (as page_alloc.c does) and make sure not to do it if > __GFP_NORETRY. > > [v4: fixed nr pages calculation pointed out by Christoph Lameter ] > > Signed-off-by: Suleiman Souhlal > Signed-off-by: Glauber Costa > Acked-by: Kamezawa Hiroyuki > Acked-by: Michal Hocko > Acked-by: Johannes Weiner > CC: Tejun Heo Acked-by: David Rientjes