From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932944AbcHCWOz (ORCPT ); Wed, 3 Aug 2016 18:14:55 -0400 Received: from mail-ve1eur01on0103.outbound.protection.outlook.com ([104.47.1.103]:51566 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755000AbcHCWOw (ORCPT ); Wed, 3 Aug 2016 18:14:52 -0400 X-Greylist: delayed 118273 seconds by postgrey-1.27 at vger.kernel.org; Wed, 03 Aug 2016 18:14:05 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=VDavydov@virtuozzo.com; Date: Wed, 3 Aug 2016 17:31:17 +0300 From: Vladimir Davydov To: Johannes Weiner CC: Michal Hocko , Andrew Morton , , , Subject: Re: [PATCH v2 1/3] mm: memcontrol: fix swap counter leak on swapout from offline cgroup Message-ID: <20160803143117.GK13263@esperanza> References: <20160802160025.GB28900@dhcp22.suse.cz> <20160803095049.GG13263@esperanza> <20160803110941.GA19196@dhcp22.suse.cz> <20160803114639.GI13263@esperanza> <20160803141203.GA12838@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20160803141203.GA12838@cmpxchg.org> X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: DB5PR10CA0020.EURPRD10.PROD.OUTLOOK.COM (10.165.4.158) To HE1PR0801MB1868.eurprd08.prod.outlook.com (10.168.94.11) X-MS-Office365-Filtering-Correlation-Id: a4f97a44-146e-4496-cc08-08d3bbaad825 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1868;2:X++1E3shkNHyv+vLN+oSZIDyeq9NCPhMQUeyn4PrpH1zoTZfU/m/RLIN9KzsI53DKkLzRUC4k6cUvIBaDwNZ7zgb1h9rNgE0AWK6ZxtK4ReDzm/4F/4zmS89nY1fLVjltzF/HoxAT/dgGESNC+cgxYXXZWJZM2NW3+iHF9WEOJoHfZMy1eOLiD7eaILSa58m;3:DKLq9TxwQ9yth5T0SJ7NyupYyaMzYnU/d97zubkztYsQdU8dbfv5jkeBBc9ev70XlnDOm0/ECUc3JCAuKKRh0/k1lvvfbq/R2TR2FK9wpxPjOxTGry2SOvKyoSHN6cSF;25:gVBZumUqD1t+nopNeKiaczTf2bNFOKLscZkZ1DEHsSoakGSqhnlNGI767k3CMmCRIGa3eCSVORH2/6W6ZkRxLW1ofJ9o7AI2hAOH3x6znQti7TyDuvuI/zDRkC55iZKEGU6ruDWqxZLX6Ag5fF+SSqygRMCnJMCaZPb4v60wLWJ7+dkhq4sEa8QOYNVqKam/eQ8GLZT0PnwPqADB4BMo9f8pflmBSUihYzaBjvxfeUjSjV3Q19KC3O4Igq8snh0H1FivarqwTYQa7KpP5/dtiAOu7oulTdvGScWv7ztWAF7OJ44KH/gDkUFozIGdGIfomIxVRXXGowrhJwKs8nhQnmLlElikCH0yu/GTOKs3249q/d43F8KVsJ8x2fRJsdmKbJDhArKIqj/Z975sOWj9nqPxi0JXv8ta7/cAe1wp6cc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1868; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1868;31:GgEjFGHEAYFe2Jl8o4rB2Kt/4aUzWFPYB7q2/5futpnss7PrIXsxD8sXxfxuwwcH6yn4P/2pAMq3oVTA1GCeHyHEkUK3zpo9YOG8+Rxs+SkwyhMC/RMoVM9dYd/PHeyZ6SskWBlwuvGb9mmWyjZqEJquHA+CLpLwwo7xaa92p3sNFPwh3grVGK+sezru9GEuR6EY8zwfu7pYZAofjMi1IibApSf6x3atF7OhWUPkz5U=;4:8roBrAe/hWkRa58toVbsHsm8Sa9xUefAhCmpT7ZxuwRlUkOT3ezN+aFn42wbQ270RRSiVFk9X+7lZcXtc+j+4bvEYR9i4EPY2A/jgnJvKKH8QYROdeJW5C91F3sZXt5VryT6xqw85iEJ2hrCZFuVcpokHLU9cqfaMmj6KVBz4ubEfY73L7n9Cau6734uheEUVCWpCbE3YEpDvCBwNOsXeaU0/lVnirbzEnZQ97g7SAmFYEJPnzdwW26Cyp6NRofrBFIsMh1oToppNnH8mPPqV78jIu08LT/q+Asz/iwdw7sI0iLmtoISO4b3NwnlbwcZhGHn8AF2hfWCTfZ5QstdjS8lz0B/rRjaTQFgevbkJiAh3ap8WxSQxcdQw7ERyIBa09ConKhuHUDsG4eKckjzadDTuATlnL/jz7ehkO7YqSM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041072)(6043046);SRVR:HE1PR0801MB1868;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1868; X-Forefront-PRVS: 00235A1EEF X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(24454002)(52314003)(199003)(189002)(106356001)(575784001)(42186005)(2906002)(105586002)(7736002)(9686002)(47776003)(86362001)(50986999)(97756001)(76176999)(54356999)(33656002)(23726003)(1076002)(50466002)(7846002)(66066001)(189998001)(77096005)(97736004)(101416001)(110136002)(4326007)(93886004)(3846002)(6116002)(586003)(46406003)(2950100001)(305945005)(68736007)(92566002)(81156014)(8676002)(80792005)(33716001)(81166006);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1868;H:esperanza;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0801MB1868;23:nZiA/tvwQPCWXKYmJCXEx3ukXUFKsMIFcio+0c2?= =?us-ascii?Q?Vf3RL1gJxSmGRUMkTcHpikzx2swirVac96uTuaZ4RbwVsDLDnGXga6R7mYua?= =?us-ascii?Q?CKw1UTfT+Lx3JyBm86H8wfW0liLaWG0O0nH/CMGNoWAxr/sXpK6N0ZM4F7mz?= =?us-ascii?Q?NKONfUWf9s6DfTTXFE50XUvRlllT0pku+Ve9Dgieul0y+HXm7qWsrAGXuUSh?= =?us-ascii?Q?Jd59Ru+JG6mP++O7MQ85q/D9p/TQXRZC7DjaXUcZ37xewkaEihng1n40WyLr?= =?us-ascii?Q?UDOX1gFpAZq86B4jmenUx2iygWgSMBFxFsmyI0d8e9zfpQzqiqfG+2fCY9Dn?= =?us-ascii?Q?dfPSgEZ3pFz8VlfcTjaunlked6IP7KjiGQifWkSNj+YMV66ECOvuObjXs4Xp?= =?us-ascii?Q?t5V3Oy4VUtHCrcc9woMRDUMhrPpi8yf3LZIv4rgszs0w5y4iKKX4Je95YXLP?= =?us-ascii?Q?lp2bo8LK6F+hcZa9aOBjvYzi4vVpHvGkgDuwGvtr8kK8JboCjq6D/YsONZth?= =?us-ascii?Q?TR8cBY+x6jQPtyr6fnyDed2LJN9j4zQfmCbwY9rZxOOPAQYXLKOUltBzsNPI?= =?us-ascii?Q?cSyIzicd/2M5mi+Qd11W9l82SyetfkOO81FDbxnHTpz8QyTvWiIv6vrvu5IP?= =?us-ascii?Q?YqKbW3jzJkdzOSpVxFireTCoV4BZY4HsFSqad4RmPCF4wqCXx+s4QOxMp3i8?= =?us-ascii?Q?DmcmC6YyoFRwgkQp7xr7IdBuAK0uvZM/7SPF1OwuYxL4RCiC+2r6CkX5f5Nq?= =?us-ascii?Q?kMHoIo4vAN9UzpYeec1kIGzMTLWmPQ9ncHGtajCSN+6+q//811YIQ9I0Os0L?= =?us-ascii?Q?sIJNjtX5ldkps+CkPm14+zl33lEzki3MvbwGZ3W5oSavdMHPVERnrVtxbuMy?= =?us-ascii?Q?QrfVRlYoO/cWEpPm4833nYWVOiuadCmxgqbe7dmVGHwD/Pi7mrDvyhVCshN/?= =?us-ascii?Q?ThI5YJw/CoD/1rxqXLLJAfr0b0EvjY4X/cEfYI/TgaXKGxWiCqSC73OmQeBX?= =?us-ascii?Q?cVzxMvDogh5+HbG0RK6aBTEURfE0RYzGmTz5j+EKW/bWhFB2fdbsiQj+1Mz8?= =?us-ascii?Q?r9C/auO9hKKKFxCb2xUvhyBlTjMpjrODJlQsj2ySFxb+5dNxChqdDEjMw5tI?= =?us-ascii?Q?YAzCdP/e5cFQa2Yt0uitXEj1Gk3+Do84m?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1868;6:VPnnjVLmnlXqVJoWGCcPnYB097BUNpHx6QRmdd/ru+RUwmT2D/K4Er5wr1JeITDRu8dOT+yzkJSWAaojZZuNX1ekpF90llkjuDTYKMASvsfuFosm07q0WIfO8jFKxBkL5zRF0hSzWp3LROQbgE89yt65g1vZbzVnmkniU1G/zxzhJir/syU88Gur2xrUGFzFTLQNiehZTHXkeyS5erytM0KMqNLHhfG4JHfgZKxyvzPfX5rWts2clYTLLSiRgaySvSJpzU6p20eKWweviuKhXO+JQopeoIA7mghlHZd0GtHMKMd7lq+PQuskIMHgM4BI;5:3nbOGvOJq8WxefjpR8keFKO+U9q7unWyn2UzIs+WZORPv0XeKT0qEZf+g9upPw9PY1QFzGezlQK4qfwYwiFcWnD3Pb4ldgIgVeixz9VAUz1vnNc6PH0OJxpvHJpwFc4WwK1Wx4qkDRHMsKHh9bAYQg==;24:WytCFGoHB4fLeqfMnYdbPLNBOMTh+NiyjBpnkXk995i1OlANTrwqyeGadQJym/h6bb5ciyoFannCx2Gnd96P3x2Eg+90o82G8oZLO+IThT8=;7:O495THvcAL2BhlK8UdxAGxx0BRNOyGnqna49aEJT6YnJtzqU4D+fL78Lfs+W2U4pxMF+3qP+C2Nd8nRuZSrJbpk1TkE4w+/xjOLWzuCHmbp7wcmZEoXlSomAUZVNRh3XuIWbEZEe7S+MBXZU8qpl+DbGbujUrIQzirzyaN7zOUocwjvxxA58ZMvl9osYxWCIA7pbx++EZShcFFdo1y3VlzeVEKJibo3ekpbcX/Sk9DD/Z9QnVQyFfXTL+d2A0Cwd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1868;20:4wN87A7xVaWSSgCmsmJk2RzNkkBveToN/6Svd7w+3xI8fsB5YCFRTdjmhbUTD5M4B/Iva5H2WccokIlHBVDqFl2QJaKhqCfJmbaw9gyFUA9WNJz2BcCdfxII7HPPLOWbuqz2wsH0hrFt49mvMchbbIyI9soCLn6fnpSCq1SgCzw= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2016 14:31:22.4934 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1868 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 03, 2016 at 10:12:03AM -0400, Johannes Weiner wrote: > On Wed, Aug 03, 2016 at 02:46:40PM +0300, Vladimir Davydov wrote: ... > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index 1c0aa59fd333..8c8e68becee9 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -4044,7 +4044,7 @@ static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg) > > * The root cgroup cannot be destroyed, so it's refcount must > > * always be >= 1. > > */ > > - if (memcg == root_mem_cgroup) { > > + if (WARN_ON_ONCE(memcg == root_mem_cgroup)) { > > VM_BUG_ON(1); > > break; > > } > > The WARN_ON_ONCE() makes sense to me. But if we warn on all configs > anyway, the VM_BUG_ON() doesn't provide any additional value. Anybody > who is testing new code and enables DEBUG_VM should notice a warning > without requiring the kernel to blow up in their face; it also allows > them to check other state that is not necessarily available in BUG(). Personally, I prefer to crash the kernel as early as possible when debugging to get vmcore for further investigation. Judging by mem_cgroup_update_lru_size(), I'm not alone.