lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E8AA635.5000100@parallels.com>
Date:	Tue, 4 Oct 2011 10:22:45 +0400
From:	Glauber Costa <glommer@...allels.com>
To:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
CC:	<linux-kernel@...r.kernel.org>, <paul@...lmenage.org>,
	<lizf@...fujitsu.com>, <ebiederm@...ssion.com>,
	<davem@...emloft.net>, <gthelen@...gle.com>,
	<netdev@...r.kernel.org>, <linux-mm@...ck.org>,
	<kirill@...temov.name>, <avagin@...allels.com>
Subject: Re: [PATCH v4 6/8] tcp buffer limitation: per-cgroup limit

On 10/04/2011 05:21 AM, KAMEZAWA Hiroyuki wrote:
> On Mon,  3 Oct 2011 14:18:41 +0400
> Glauber Costa<glommer@...allels.com>  wrote:
>
>> This patch uses the "tcp_max_mem" field of the kmem_cgroup to
>> effectively control the amount of kernel memory pinned by a cgroup.
>>
>> We have to make sure that none of the memory pressure thresholds
>> specified in the namespace are bigger than the current cgroup.
>>
>> Signed-off-by: Glauber Costa<glommer@...allels.com>
>> CC: David S. Miller<davem@...emloft.net>
>> CC: Hiroyouki Kamezawa<kamezawa.hiroyu@...fujitsu.com>
>> CC: Eric W. Biederman<ebiederm@...ssion.com>
>> ---
>>   Documentation/cgroups/memory.txt |    1 +
>>   include/linux/memcontrol.h       |   10 +++++
>>   include/net/tcp.h                |    1 +
>>   mm/memcontrol.c                  |   76 +++++++++++++++++++++++++++++++++++---
>>   net/ipv4/sysctl_net_ipv4.c       |   20 ++++++++++
>>   5 files changed, 102 insertions(+), 6 deletions(-)
>>
>> diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
>> index 6f1954a..1ffde3e 100644
>> --- a/Documentation/cgroups/memory.txt
>> +++ b/Documentation/cgroups/memory.txt
>> @@ -78,6 +78,7 @@ Brief summary of control files.
>>
>>    memory.independent_kmem_limit	 # select whether or not kernel memory limits are
>>   				   independent of user limits
>> + memory.kmem.tcp.max_memory      # set/show hard limit for tcp buf memory
>>
>
> What is the releationship between tcp.max_memory and kmem_limit ?
Quite loose.

> tcp.max_memory<  kmem_limit ?
> usage of tcp memory is included in kmem usage ?
tcp.max_memory is < kmem_limit, for it to be meaningful. But I don't 
think we need to force that. I may want to start with a high value for 
tcp_max_memory and low on kmem_limit, and raise it later.

So here is how it goes:

Memory is allocated from the slab, and then it's usage is independently 
controlled by the network-specific memory pressure conditions until it
is reclaimed.

Memory allocation can succeed, but then fail to be assigned to the 
socket due to memory pressure.

Since we more or less agree that on accounting the slab according to 
Greg's idea, I am not concerning myself with the actual accounting here, 
since it will come for free when we account the slab.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ