Re: [BUGFIX][PATCH 3/3] memcg/tcp: ignore tcp usage before accounting started

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On 04/08/2012 09:58 PM, KAMEZAWA Hiroyuki wrote:
(2012/04/04 7:31), Glauber Costa wrote:

On 04/02/2012 07:41 AM, David Miller wrote:
From: Glauber Costa<glommer@xxxxxxxxxxxxx>
Date: Thu, 29 Mar 2012 11:21:07 +0200

On 03/29/2012 09:10 AM, KAMEZAWA Hiroyuki wrote:
tcp memcontrol starts accouting after res->limit is set. So, if a sockets
starts before setting res->limit, there are already used resource.
After setting res->limit, the resource (already used) will be uncharged and
make res_counter below 0 because they are not charged. This causes warning.

This patch fixes that by adding res_counter_uncharge_nowarn().
(*) We cannot avoid this while we have 'account start' switch.

Signed-off-by: KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx>

Fine by me.

Acked-by: Glauber Costa<glommer@xxxxxxxxxxxxx>

I'm not applying patches that simply ignore accounting counter

You must either:

1) Integrate the socket's existing usage when the limit is set.

2) Avoid accounting completely for a socket that started before
     the limit was set.

No half-way solutions, please.  Otherwise it is impossible to design
validations of the resource usage for a particular socket or group of
sockets, because they can always be potentially "wrong" and over the
limit.  That's a design for a buggy system.


I agree with Dave FWIW.

We should be able to do this by dropping the reference count when the
cgroup is finally destroyed, instead of from the remove callback. At
that point, no more pending sockets should be attached to it.

Prior to increasing the static key, they are all assigned to the global
cgroup, so we shouldn't care about them.

Could you do the fix ?


I sent you a version already. Please just make sure it works for you

To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Linux Kernel Discussion]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux Bluetooth Networking]     [Linux Networking Users]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Photo]     [Singles Social Networking]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux Security]     [Linux IDE]     [Linux RAID]     [Linux SCSI]     [Free Dating]

Add to Google Powered by Linux