|
|
Re: [BUGFIX][PATCH 3/3] memcg/tcp: ignore tcp usage before accounting started |
(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 >> underflows. >> >> 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. >> >> > Kame, > > 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 ? Thanks, -Kame -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[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]
![]() |
![]() |