From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755918AbaHHIVc (ORCPT ); Fri, 8 Aug 2014 04:21:32 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48457 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752258AbaHHIV2 (ORCPT ); Fri, 8 Aug 2014 04:21:28 -0400 Date: Fri, 8 Aug 2014 10:21:26 +0200 From: Michal Hocko To: David Rientjes Cc: Andrew Morton , Tejun Heo , Li Zefan , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [patch] mm, hugetlb_cgroup: align hugetlb cgroup limit to hugepage size Message-ID: <20140808082126.GA4004@dhcp22.suse.cz> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 07-08-14 13:34:12, David Rientjes wrote: > Memcg aligns memory.limit_in_bytes to PAGE_SIZE as part of the resource counter > since it makes no sense to allow a partial page to be charged. > > As a result of the hugetlb cgroup using the resource counter, it is also aligned > to PAGE_SIZE but makes no sense unless aligned to the size of the hugepage being > limited. > > Align hugetlb cgroup limit to hugepage size. > > Signed-off-by: David Rientjes huge_page_shift as proposed by Aneesh looks better. Acked-by: Michal Hocko > --- > mm/hugetlb_cgroup.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c > --- a/mm/hugetlb_cgroup.c > +++ b/mm/hugetlb_cgroup.c > @@ -275,6 +275,8 @@ static ssize_t hugetlb_cgroup_write(struct kernfs_open_file *of, > ret = res_counter_memparse_write_strategy(buf, &val); > if (ret) > break; > + val = ALIGN(val, 1 << (huge_page_order(&hstates[idx]) + > + PAGE_SHIFT)); > ret = res_counter_set_limit(&h_cg->hugepage[idx], val); > break; > default: -- Michal Hocko SUSE Labs