Re: [PATCHv5 03/28] memcg: adjust to support new THP refcounting

From: Kirill A. Shutemov
Date: Fri May 15 2015 - 07:18:56 EST


On Fri, May 15, 2015 at 09:44:17AM +0200, Vlastimil Babka wrote:
> On 04/23/2015 11:03 PM, Kirill A. Shutemov wrote:
> >As with rmap, with new refcounting we cannot rely on PageTransHuge() to
> >check if we need to charge size of huge page form the cgroup. We need to
> >get information from caller to know whether it was mapped with PMD or
> >PTE.
> >
> >We do uncharge when last reference on the page gone. At that point if we
> >see PageTransHuge() it means we need to unchange whole huge page.
> >
> >The tricky part is partial unmap -- when we try to unmap part of huge
> >page. We don't do a special handing of this situation, meaning we don't
> >uncharge the part of huge page unless last user is gone or
> >split_huge_page() is triggered. In case of cgroup memory pressure
> >happens the partial unmapped page will be split through shrinker. This
> >should be good enough.
> >
> >Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> >Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> But same question about whether it should be using hpage_nr_pages() instead
> of a constant.

No. Compiler woundn't be able to optimize HPAGE_PMD_NR away for THP=n,
since compound value cross compilation unit barrier.

--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/