Re: [PATCH -V2 0/9] memcg: add HugeTLB resource tracking

From: Andrew Morton
Date: Thu Mar 01 2012 - 17:40:43 EST


On Thu, 1 Mar 2012 14:46:11 +0530
"Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote:

> This patchset implements a memory controller extension to control
> HugeTLB allocations. It is similar to the existing hugetlb quota
> support in that, the limit is enforced at mmap(2) time and not at
> fault time. HugeTLB's quota mechanism limits the number of huge pages
> that can allocated per superblock.
>
> For shared mappings we track the regions mapped by a task along with the
> memcg. We keep the memory controller charged even after the task
> that did mmap(2) exits. Uncharge happens during truncate. For Private
> mappings we charge and uncharge from the current task cgroup.

I haven't begin to get my head around this yet, but I'd like to draw
your attention to https://lkml.org/lkml/2012/2/15/548. That fix has
been hanging around for a while, but I haven't done anything with it
yet because I don't like its additional blurring of the separation
between hugetlb core code and hugetlbfs. I want to find time to sit
down and see if the fix can be better architected but haven't got
around to that yet.

I expect that your patches will conflict at least mechanically with
David's, which is not a big issue. But I wonder whether your patches
will copy the same bug into other places, and whether you can think of
a tidier way of addressing the bug which David is seeing?

--
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/