From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx121.postini.com [74.125.245.121]) by kanga.kvack.org (Postfix) with SMTP id 909396B005D for ; Thu, 18 Oct 2012 04:54:15 -0400 (EDT) Message-ID: <50803433.4000904@parallels.com> Date: Thu, 18 Oct 2012 20:54:11 +0400 From: Glauber Costa MIME-Version: 1.0 Subject: Re: [PATCH v5 01/14] memcg: Make it possible to use the stock for more than one page. References: <1350382611-20579-1-git-send-email-glommer@parallels.com> <1350382611-20579-2-git-send-email-glommer@parallels.com> <20121017151155.d417bd13.akpm@linux-foundation.org> In-Reply-To: <20121017151155.d417bd13.akpm@linux-foundation.org> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, Mel Gorman , Tejun Heo , Michal Hocko , Johannes Weiner , kamezawa.hiroyu@jp.fujitsu.com, Christoph Lameter , David Rientjes , Pekka Enberg , devel@openvz.org, linux-kernel@vger.kernel.org, Suleiman Souhlal On 10/18/2012 02:11 AM, Andrew Morton wrote: > On Tue, 16 Oct 2012 14:16:38 +0400 > Glauber Costa wrote: > >> From: Suleiman Souhlal >> >> We currently have a percpu stock cache scheme that charges one page at a >> time from memcg->res, the user counter. When the kernel memory >> controller comes into play, we'll need to charge more than that. >> >> This is because kernel memory allocations will also draw from the user >> counter, and can be bigger than a single page, as it is the case with >> the stack (usually 2 pages) or some higher order slabs. >> >> ... >> >> -/* >> - * Try to consume stocked charge on this cpu. If success, one page is consumed >> - * from local stock and true is returned. If the stock is 0 or charges from a >> - * cgroup which is not current target, returns false. This stock will be >> - * refilled. >> +/** >> + * consume_stock: Try to consume stocked charge on this cpu. >> + * @memcg: memcg to consume from. >> + * @nr_pages: how many pages to charge. >> + * >> + * The charges will only happen if @memcg matches the current cpu's memcg >> + * stock, and at least @nr_pages are available in that stock. Failure to >> + * service an allocation will refill the stock. >> + * >> + * returns true if succesfull, false otherwise. > > spello. > Thanks. I can never successfuly write successfull =( >> */ >> -static bool consume_stock(struct mem_cgroup *memcg) >> +static bool consume_stock(struct mem_cgroup *memcg, int nr_pages) > > I don't believe there is a case for nr_pages < 0 here? If not then I > suggest that it would be clearer to use an unsigned type, like > memcg_stock_pcp.stock. > Done, thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org