From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967504AbeAOMxk (ORCPT + 1 other); Mon, 15 Jan 2018 07:53:40 -0500 Received: from mail-eopbgr20135.outbound.protection.outlook.com ([40.107.2.135]:57404 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966285AbeAOMx1 (ORCPT ); Mon, 15 Jan 2018 07:53:27 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH v4] mm/memcg: try harder to decrease [memory,memsw].limit_in_bytes To: Michal Hocko Cc: Andrew Morton , Johannes Weiner , Vladimir Davydov , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Shakeel Butt References: <20180109152622.31ca558acb0cc25a1b14f38c@linux-foundation.org> <20180110124317.28887-1-aryabinin@virtuozzo.com> <20180111104239.GZ1732@dhcp22.suse.cz> <4a8f667d-c2ae-e3df-00fd-edc01afe19e1@virtuozzo.com> <20180111124629.GA1732@dhcp22.suse.cz> <20180111162947.GG1732@dhcp22.suse.cz> <560a77b5-02d7-cbae-35f3-0b20a1c384c2@virtuozzo.com> <20180112122405.GK1732@dhcp22.suse.cz> <7d1b5bfb-f602-8cf4-2de6-dd186484e55c@virtuozzo.com> <20180115124652.GB22473@dhcp22.suse.cz> From: Andrey Ryabinin Message-ID: <17c368ce-3a20-d776-bc11-65b6a5bb1ff7@virtuozzo.com> Date: Mon, 15 Jan 2018 15:53:35 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20180115124652.GB22473@dhcp22.suse.cz> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0502CA0021.eurprd05.prod.outlook.com (2603:10a6:3:e3::31) To AM4PR08MB2819.eurprd08.prod.outlook.com (2603:10a6:205:d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 12249036-8e21-436b-d1e5-08d55c16f675 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:AM4PR08MB2819; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;3:yGSlugjo2XSGD1GFZBYJG3P5UJR+BTPwZ3hEihhoGVVLDXOXT0yEAAyLVc16U0b+6RQZmB50AHfK4X3JhTI5guEnEkLhFNyIB9zelOm9A2HWmvaUU3KCMnTb8rUhc5ol3wUwZo0BQftX8F8gJBhnvVazlxnAAG2khuyHAtHRf9C2V6CFDfYFOF4/Nlb0g1HVlk5aNSb1M8Dm9bsfuqWX2Qv8aIBJ0xSXcCkoqzjIbgIwuTPopvOIJIUFnjZBzND0;25:ZJd01ej7FPnnVn3sBr7Uek3SEnR0hDnEyaS7/ZqcNtnJzDyrADVqk48jeghqOBH2QLjYyt7uFbbUyYjDVpZR0e8YL0/qVDtqeIAuJLfVNCbUCmoM2GnDt2K8sRccYMlpLW/Qdc95NNgrdrgLogR1/R7MVefq/4xWDaoqPI+O6O4Ngx+9qKMDDJrMRp47OYtZcF7631Jol5o62d6XoE8S8Vw2ehyHRa3hlVkvqEd5N3YSBetgQH83jBbtMzeW5ixp0BoEXcgGk08HuFiev7gv9MqsMEwetJn6RWGUX3GhbjhDa4UvaFIz4FhaY1jBm1AxeJduXCCD5eOusTVkBODDDw==;31:uZYuN6Hl8nL7Wa2p6UXTpnnVyW1OAbuT7n+tO7v+BSgjcN6jf1oxd5vcvCuwBykeQ+yrYFY2A1VpfDAB6G4NjwNT0f+tpnQfjKScUJRvI+/IgDYEzA/vC+7FsVq6fuOiMKxTzaY74MjaIOpntsySecz6cJpdItEo3ZXd3RBPNeMaYy8ytRzSzCISt19jtXc/UPTcmm4VKBg2XwyuzCI118PPJavP0DNS6K++boU6qF0= X-MS-TrafficTypeDiagnostic: AM4PR08MB2819: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:gDGZov9W6fTvXYkyEyIK48IESmDkIKMqzpsjxrRXqqJNnXANd2zzMYSGFJ747M7kFXwj8oPdmjQAzhs4Rp6BxVxtpvHSwPL3qCIwZIjb07eJgWI0oTcNq7w/EjeQqxtExI6l2O8tK5hUG+Db/taVk5VegPhcY/RqRhhjHHc7Kyw5Ju5lzqZTNyTvqDRWenAD26VFj4Mc2HNESmqweJmSTI6aXFecSL/3ezlHzqdQ89+Xed5CJ58vlvB72FNkADM8AHM6vWIdj0OPrAg9oKyszJAe1IxJ3Bl7uMUVFMpqKZy07u3/E+NYC3K71vslYgSdwyWyh7eCEK7ZffEeJxUw0VPX4Qw6LKnQKAUZ8Kg8lM2oBZUbC8zAg0N/bFayUPa7ql+WI7ecZoPV9PL1QHtDhC3gY0OM8ftjb+iTIG/7jek=;4:/LwPKH374BuizTq4mTBfqd9mm5QWuUjHQPPpq+JjERsjcPPYIQF80YOOf25ao/azbsgJZpCQJndbaKzL5XPTzl6yN/w9yG712NAeQMyK+Agxip6UT4OmuwIlXKSJSprDoNbT4gU3Bf33woAqoaCLDh3cDOg/RuN0OGKSlzXiqkCYuaDjpWHkpcOcmClgQhU3/fK3bFdUSb3ZxCVTX2fgskbNWbDUE05QqPKMVhFGCWgdNxBZ5R63D/RNDMhHmqYFrWZtchtmijSSkP7/3Va2tA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231023)(944501161)(3002001)(6041268)(20161123562045)(20161123560045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:AM4PR08MB2819;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:AM4PR08MB2819; X-Forefront-PRVS: 0553CBB77A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(39380400002)(376002)(366004)(346002)(39840400004)(396003)(189003)(24454002)(199004)(377424004)(6246003)(39060400002)(83506002)(6116002)(53936002)(86362001)(2906002)(478600001)(36756003)(31686004)(54906003)(5660300001)(16576012)(58126008)(316002)(16526018)(4326008)(25786009)(230700001)(106356001)(93886005)(65826007)(97736004)(52116002)(2486003)(8676002)(59450400001)(386003)(47776003)(68736007)(8936002)(65806001)(66066001)(65956001)(31696002)(2950100002)(6666003)(229853002)(50466002)(105586002)(6916009)(23676004)(53546011)(305945005)(7736002)(6486002)(81156014)(81166006)(77096006)(3846002)(52146003)(76176011)(64126003)(34023003)(148693002)(142933001);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR08MB2819;H:[172.16.25.12];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA4TUIyODE5OzIzOmNQRkNmMGR2Rkk4TnhZcXRrL2hWL3ZTeGxw?= =?utf-8?B?c05KOU1HdnBhS3ovYWVkOHVaajlUeVVPS01vQy9aMkplekc4L0duVVdiamJU?= =?utf-8?B?MjVFZzNsVkNzeFM5akdFcnhHT0JRSUk4a21YMUtRZE0yNm5hRkpFTFVnZEVH?= =?utf-8?B?bnBZQytxRlo2VmtuVWhZMDVkbXV0NFI5MnVGNUF1T0FJNWdleFIrRjhId1Ru?= =?utf-8?B?ZkFHZGkvV2orSWJyZjdXS0NtYXpIWWFQeGFGQWU2bHZ0UTk2Zi84ckxFV1Ba?= =?utf-8?B?RGQ5WktNSjVJV0VEMmdqa05Pa0trK01kZHF3ME0vVmN4U1lDSlBjemIyN29w?= =?utf-8?B?QUFHUC9rSVFmeWxBNzdZQUV6N1hCQm9yMVBtZzJEbDFQWHVKNnZya2c1NXcz?= =?utf-8?B?NDJIeEl1RU5hVExiSDI4Slo4ZUVHam9YSi9SUUM3ZGdpdyttYW00ejdKUWZY?= =?utf-8?B?bFZMcDFGMVNteUY4Y0t6QlE5RGlNNTNaNlBQeGt6MGtKYlJIRzZwUmt5MWxk?= =?utf-8?B?dy91WGFxQUcyYWxkbFNvaWU2cGtldlNxRnFiMXJFLzVFZnFUZnhMRWRyV1FD?= =?utf-8?B?S0FtK1JSeGw3ZXlBWWVJdVpJSTlpalNyVC9sYnNHNXpPaVp0THJEeXpSNjZO?= =?utf-8?B?VUNWeEZTS1B1V0EyZUVRbFEzcU1WcFZuTUY1Qis2UUhrTENheEJoaHJTaXZs?= =?utf-8?B?TktyelVhQVRGTGhrMFNOQTN6N3FFbzhGYjI2YUJqWW9QcTAyOGxiZkh3M3hX?= =?utf-8?B?M2liSDFWQ0RGM08zRWEzRVYyQW93QzlnZkhHblVuaEVTcis1TU5zOWxTNUoy?= =?utf-8?B?ZU5PTEo0bGxKeGp5alVIbzBtbUpsVXE3cWpnNWFqQzlJekVmSU53S01Wblg2?= =?utf-8?B?Z0J5aWVTdXNoODl0QlJKVkFGLy9RbHVseWcrTUhFZHNxWUIyRkhmYjZmSkFS?= =?utf-8?B?QTI2OVEyYVVqKzl5c1ZoZkczb2d1R2doSTFKdWZ0ckVWM1pmcU9VaUdNY01o?= =?utf-8?B?Vk1wS1g0ZjBvQTY2ZGJCSEJBZnUxdmlNamovZHRxcXBoa2hKUGg5eHhKbnk0?= =?utf-8?B?OUt1STlTdE8rK0lhMFU3SzV2TXkwaFBvcm5RNEkrelFXQ3V6dkVVbGNKNXAx?= =?utf-8?B?bFJ4SS9hNVlWY0ZPT1F0NFdrMU1VZUphbk5ENnVjdUw4UEYzZXhwOFJESUZE?= =?utf-8?B?dUpwblViWktoalZvaVduVWFlL25yV0NrZXRvT0YyQ3RBRUsraVl5bnJHbHBv?= =?utf-8?B?Z1RJd3pFbndrRUt6K1dBc2gzUXlPRHRmbDBydTBaRkVaU0Yzam4xSmNNWUxv?= =?utf-8?B?Z05uS0xEd2lIMDlDMERHTmxEeXl4Vk5LZ0pSNWQvNUgyZCtFNHNxWDNwTGRW?= =?utf-8?B?M0s5UmsyZWxrZllEaHRrWnRVY1R4RW03R1hUOUJ1bzNCMVFaYzc1d3M3N0Nj?= =?utf-8?B?MlFqbFRjUkZmWGtQZkNIWG51RDJRT0ticVBsdW1zMWpxSitsc2E5eDhHdVJn?= =?utf-8?B?NXhVVFJORk5peVdUZkpnQU5ETXRWbWEwY0NERktxQ2dGcHd4SnVGSU5TRThY?= =?utf-8?B?RjUvZjM1NnJJakVHWkx3UE1sOEE4dlUyTi9zYmJWaDhFa1RPS0JQVHkveUZZ?= =?utf-8?B?VWVBRTVwUUxodlV0KzkvdHc2RWxVSmxvdU5OR3pHeDZadXdwM00waTYvZ216?= =?utf-8?B?NjRuSnBkcGZMdTc2dTdka29jUDhua0xKRStyaHM3ZzBvRkRnOWFVNm5MNnlv?= =?utf-8?B?NkI5WVJTMFlSQnpFWHBRMU5aSkpoR0VJRGQyeFlPTjluUFFZZ214UFljczNN?= =?utf-8?B?cW5KZFQwclRUMlZvazFOSDNYVUQxNzZYOTdCTEFqNnFxSkhTV3JjZlMvbXVi?= =?utf-8?B?SVJDTlV0dVhCcjJkRDR1cHZvVno0V0tjbGlLRnlnaXR4cWtsTzBUR250U01j?= =?utf-8?B?V2l5Ry9xRVIwVExaREtNQkl5QTNicmk1S1BEUzFRdk82Q1hDQnYyQzZWT0c5?= =?utf-8?B?blRobmNJMVM4bHc5K3JCckl2TExNSnkyTUpDaTQreWliblQxWDNMRTNSaDZh?= =?utf-8?Q?ZBbPaJmzMqwS5TUz4flWWMa7/?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;6:gltTJXS6L4Om72pwfbzskUUTAMkyI/rrggdSeul8zhhc32QOQaGn7fptiRqdRN06zKZltigz3J6z229oBMGCsF2gwSEE8z4YsCyV9GaueCl5ADbxern4UtpDqtitbC4KS7wX1lDPKHv5KsdAyC6adV/0Rcc6du4Ot+tVZSzBVikSKDmDbMB1gdo+zxAOcU2BbhUUJPO5SyD88RjIn9Pds463WdUWbSFw09OyZ48c99zMLvsUPu8QnVulGYidWfcNlpDxEhTn7HGWhatJEU4iobJzDOC27nspvptksPaIdT0Sru6Nepy53i8vbq4TihQSvJzMVokDLvRVdwGTuE1t6XI71F9rp0qQxYl9t20Rz20=;5:tAu+XSGSUKp10paZiRF0ziCjwlqRSW3qul9QmWL2zanmEJLOanf+Unn9wxjbjA9RehbxLk1QHgvU4VqoK94cL4WhIlLAPXXI/39RtWCn0jvgJm1O9EujeYluzHu912kCrChfnPGPh2Pc/vmfjBuNzgV8ZjDuM5atSWirA7/mmm4=;24:ZRWm+bxtD6sjbEQMtiCzGZMcHVYyWdxa0VtUUQIsC9N02ZIY9wo4LbWXNpWSRWw+p18o96s2zoJ87P2mBkR3UMDSdw7UeWsHgPus1w8vib8=;7:AwL0Rb6CZcbBxu6CVfoNx2ZaBpE/6xRIvkXqHXbLSFdoX5Bs6elCFnCxUHJytePWBANOZ/7d/d6WlxD+uVoro7p7tytHwAPlCk9XgN82exl3Hk6ICnzXbxdeq2FzNGAFJxER8ceRR/hWbNUXZjmXqkcIYvdn9mIzd5qMaUswm78P9RgLuD4XP51+bJWbPfLvGyC0mlN6SbSjb4u7z38cA33W0otWTboFO937QCHVBuyEzzKUjE8cFlqpJz2/+Gzz SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:85ciR7oSNltK4O2W4YuO9oEasEEpn1+eUWqsO1mmk3OaDwkHJTfe6R6ckue8l92e9jyrCkzQuLFML9Z/6OqWgP+e6YNsMpsr1A89ZIwtDqr6ACzsC5A+iOprJjw1U9b8Ykxt626C6qPt09agaRdLghcQ5tyyggJw8mIrCpE9NVY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2018 12:53:23.0339 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 12249036-8e21-436b-d1e5-08d55c16f675 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2819 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 01/15/2018 03:46 PM, Michal Hocko wrote: > On Mon 15-01-18 15:30:59, Andrey Ryabinin wrote: >> >> >> On 01/12/2018 03:24 PM, Michal Hocko wrote: >>> On Fri 12-01-18 00:59:38, Andrey Ryabinin wrote: >>>> On 01/11/2018 07:29 PM, Michal Hocko wrote: >>> [...] >>>>> I do not think so. Consider that this reclaim races with other >>>>> reclaimers. Now you are reclaiming a large chunk so you might end up >>>>> reclaiming more than necessary. SWAP_CLUSTER_MAX would reduce the over >>>>> reclaim to be negligible. >>>>> >>>> >>>> I did consider this. And I think, I already explained that sort of race in previous email. >>>> Whether "Task B" is really a task in cgroup or it's actually a bunch of reclaimers, >>>> doesn't matter. That doesn't change anything. >>> >>> I would _really_ prefer two patches here. The first one removing the >>> hard coded reclaim count. That thing is just dubious at best. If you >>> _really_ think that the higher reclaim target is meaningfull then make >>> it a separate patch. I am not conviced but I will not nack it it either. >>> But it will make our life much easier if my over reclaim concern is >>> right and we will need to revert it. Conceptually those two changes are >>> independent anywa. >>> >> >> Ok, fair point. But what about livelock than? Don't you think that we should >> go back to something like in V1 patch to prevent it? > > I am not sure what do you mean by the livelock here. > Livelock is when tasks in cgroup constantly allocate reclaimable memory at high rate, and user asked to set too low unreachable limit e.g. 'echo 4096 > memory.limit_in_bytes'. We will loop indefinitely in mem_cgroup_resize_limit(), because try_to_free_mem_cgroup_pages() != 0 (as long as cgroup tasks generate new reclaimable pages fast enough).