Re: [PATCH v3 3/4] limit nr_dentries per superblock

From: Pavel Emelyanov
Date: Mon Aug 15 2011 - 07:38:20 EST


On 08/15/2011 03:14 PM, Pekka Enberg wrote:
> Hi Pavel,
>
> On Mon, Aug 15, 2011 at 2:05 PM, Pavel Emelyanov <xemul@xxxxxxxxxxxxx> wrote:
>> This will make sense, since the kernel memory management per-cgroup is one of the
>> things we'd live to have, but this particular idea will definitely not work in case
>> we keep the containers' files on one partition keeping each container in its own
>> chroot environment.
>
> And you want a per-container dcache limit?

To be more specific - we want to protect the node with >1 containers from one of
them growing the dcache infinitely. One of the solutions to this - per container
dcache limit.

> Will the containers share the same superblock?

Yes, this is typical scenario for both OpenVZ and LXC now.

> Couldn't you simply do per-container "struct kmem_accounted_cache" in struct superblock?

If by this you mean "account for all the kmem associated with particular superblock" then
this is OK for us, but this can't be done in a simple

if (used + size > limit)
return -ENOMEM
else {
used += size;
return 0;
}

manner, since once we hit the limit we should shrink the unused dentries. And most of the
patches are about this.

> Pekka
> .
>

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