Commit 990c74e3 authored by Vasily Averin's avatar Vasily Averin Committed by David S. Miller
Browse files

memcg: enable accounting for inet_bin_bucket cache



net namespace can create up to 64K tcp and dccp ports and force kernel
to allocate up to several megabytes of memory per netns
for inet_bind_bucket objects.

It makes sense to account for them to restrict the host's memory
consumption from inside the memcg-limited container.

Signed-off-by: default avatarVasily Averin <vvs@virtuozzo.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6126891c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1126,7 +1126,7 @@ static int __init dccp_init(void)
	dccp_hashinfo.bind_bucket_cachep =
		kmem_cache_create("dccp_bind_bucket",
				  sizeof(struct inet_bind_bucket), 0,
				  SLAB_HWCACHE_ALIGN, NULL);
				  SLAB_HWCACHE_ALIGN | SLAB_ACCOUNT, NULL);
	if (!dccp_hashinfo.bind_bucket_cachep)
		goto out_free_hashinfo2;

+3 −1
Original line number Diff line number Diff line
@@ -4512,7 +4512,9 @@ void __init tcp_init(void)
	tcp_hashinfo.bind_bucket_cachep =
		kmem_cache_create("tcp_bind_bucket",
				  sizeof(struct inet_bind_bucket), 0,
				  SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
				  SLAB_HWCACHE_ALIGN | SLAB_PANIC |
				  SLAB_ACCOUNT,
				  NULL);

	/* Size and allocate the main established and bind bucket
	 * hash tables.