From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751610AbdH3M6q (ORCPT ); Wed, 30 Aug 2017 08:58:46 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:55416 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751607AbdH3M5x (ORCPT ); Wed, 30 Aug 2017 08:57:53 -0400 Date: Wed, 30 Aug 2017 13:57:29 +0100 From: Roman Gushchin To: Michal Hocko CC: , Johannes Weiner , Vladimir Davydov , , , Subject: Re: [PATCH] mm: memcontrol: use per-cpu stocks for socket memory uncharging Message-ID: <20170830125729.GA12012@castle.DHCP.thefacebook.com> References: <20170829100150.4580-1-guro@fb.com> <20170830123655.6kce7yfkrhrhwubu@dhcp22.suse.cz> <20170830124459.GA10438@castle.DHCP.thefacebook.com> <20170830125543.um72yjhzps4lbj4t@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20170830125543.um72yjhzps4lbj4t@dhcp22.suse.cz> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [2620:10d:c092:200::1:f46f] X-ClientProxiedBy: AM3PR03CA0072.eurprd03.prod.outlook.com (2603:10a6:207:5::30) To BL2PR15MB1074.namprd15.prod.outlook.com (2603:10b6:201:17::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 59b40b2b-0218-4575-2de6-08d4efa6b355 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BL2PR15MB1074; X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1074;3:X3Xmq1qUi0MPWuSyIszVgPp42jAdLfjiPCIwelQR2XNaCcpvPevG61AOnBvVGFuqGGQVsypNQj26IgABFulg5vCXDp8RWVvTpGJpG1SJKBDyvVw5cO3rmHVGSzDi2oWkZ7nhGkTAlKyAupPAnGmkxnVQ2DdEOcloAFZB0N+R6+SYbiJQG63oEgzi1Vh7L3sHsNWBrjFrckc+4NRK7j38n4XLlkmYaBol/qK7trgJE0LqOyPLveylsgg6BQUOM40v;25:Rettp9G5LlTx+sXZjU5giaH4fgEbl/UV4BNQ4dkS7sFfW60qVQqb/CIqFjp91oKxrVbHfg/hpXgUx/JJN45ofyMmF2SVi3SNjPlRw7ttfCEZjlPA+NW/X5yUKo7ifSx5Bn2NNbdw9byRDsMW/XA6P22R7fWBfI2bv1thMRKoKs/I/2W5ikAJKt7vZ4cpPTW7gAV6lWi6nLfyeEuBER8n+NPpkgZ5X2odQ0Hn8V+gW692250yth3dRBozUIsQO3q7BJDBVgj02K8FpAG94qxWNU05W+TP8ZxF0oDlWPxMJcq8HO4VtB9UzyJwzTlknpcaXx78nQULzE5tOxB2CVSTcA==;31:YFwMkPJdoS9sYYCTPmWYa3AYuC0ARI8gPuDB1f81eiavRmtYE393FDXkIMqDCXvJgKdNt5wwrvdJByYzgBik5iyXTm6oaQ02kW0pyqymmxWKu9BdbHwCFYFlNKQDLFDtB2uwP2WaczCm8+9ZpQ8LCeOX7hn4DMQe95ZnRAg3fr3OkSo/xXjm+QlVgK7yvQxni8CcYb/XkbrcEgr23Pbyo/ayTFBaIxMMbaLSk1eeu3A= X-MS-TrafficTypeDiagnostic: BL2PR15MB1074: X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1074;20:Twn7S9TEUVAuCQpvr4cNxCUeE5w9drxGrsmHGJgCccM9clEmkyFuV5vIpyt+ZLqX9UAnJzUI0M4TO6bPx2Nq2CXBv1rhDzBO2/5LssYGcVdo1kMQee/WnmqHVSvBHqGMDgBBNeEzy++Tsnb7QJH/+BEtoA26CKP9VBc1jBOy44HLk7XeWVP62sm6im3wC14z+Lkl/O0h+HxRq2rBuf8NRbJua+4o2P43DZforZbYAP0/BKvaZEVJhimEb6tArApSFg5f4tFnCx+h8n+6aC8oAHlqiC57QdzxDNHTMxbu8sLi9n1xMB8fnkEt8OPkE0i/1/kspazVxd5qXr0MTp/MddyKnP05MpnPc12YWfqWAbIm3QFfGTMv10f81RqjJAJDOfscHvqbpVUXxjBjMcTssqoakIJYQhg0/KqprYwYTYx9roL0Z+rmseEiNO3DyRxZZlNBzVRuerGFpx+wM9m9X88olhaMxjQTULsdNBvqCILLzWgzdLpNMdy85LBtqyO1;4:Mf1Q2vkrjOXiGvk6PShnWh1IjugkaMDNAIthvVIu5KzdN+88dIln44pDch80wA690bFDdP+jbKuLfvWc6I+TNAgp40m832tdeBaJ8VxK43JuyeyfybKxfmSbq91/upZGWD0OYiVfnDT+D9LngvFW/wMQbKcpNvGw1DlSMG6mxAjZ8B8/MimOL1HfSi0WOBJys4hHJrbtsL40vSHGZBH+ivQBQCeckxZP6B70+ZCSs+87vrKid5UZFQD+YsW+1HZN X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BL2PR15MB1074;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BL2PR15MB1074; X-Forefront-PRVS: 041517DFAB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(189002)(24454002)(377424004)(57704003)(6506006)(81156014)(8936002)(8676002)(97736004)(81166006)(50466002)(6116002)(106356001)(86362001)(5660300001)(478600001)(105586002)(305945005)(7736002)(2906002)(4001350100001)(6916009)(6666003)(68736007)(2950100002)(93886005)(110136004)(42186005)(55016002)(9686003)(39060400002)(189998001)(6246003)(47776003)(4326008)(1076002)(83506001)(229853002)(23726003)(53936002)(50986999)(76176999)(101416001)(54906002)(54356999)(25786009)(33656002)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2PR15MB1074;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR15MB1074;23:uxbO3BzCE0COtaf73fdznQ6fzgSv3Fq25mUEQl/CS?= =?us-ascii?Q?YWxpkWHP06xRJXwX21EI0TatNryQOsZzYKAEQWYLybtoLfD8YP4NTYM1njv5?= =?us-ascii?Q?4d8io1OSirSI4VtAQwrqZAzyRR7lShe5A7DGt1+BTapGNoHKUdfsCpd5lW3i?= =?us-ascii?Q?ldy2kuNF6vCSeYdy8+vVuTwB4xoafjCgzC0wtQLucLWxzFK4DuOyIxMZxr99?= =?us-ascii?Q?BHVTHRH2CEvjGBOrXdAcCSsLOUDAXeNV4tspXLXQt5WZS8fmmmb6pInpAMhd?= =?us-ascii?Q?jYh0xpLDgVMZCVnhH9WRbbPJYZf9sYz1ygZJvXVA+mg+IruUCQLO1ET1vKKc?= =?us-ascii?Q?9/HRZgFjweNIEWa2jTmhGNjcBERZ35QVyk6ss5die36onI1GFGkwWyfwXAE1?= =?us-ascii?Q?/xye1o60w03R1x3VrD6iF/+EEZ0HT1Nd5ox8yJ9mI3MRaxU86RdxDN6wJ5ra?= =?us-ascii?Q?VTBx73VWb6fTpdeLEyXaCjA6WUjukwaz49ed0HeoVV7iNYOmaE5v2AzZ313E?= =?us-ascii?Q?AP0HTBJ+cIYrR7Qeu61MBYJDVG0QtAlCYjuMkWgnDk8N8X94lgcYgqV7bLb+?= =?us-ascii?Q?HNtPTC91fMzJXpxO2MzR8hFXAJ7tXS8m8Nerhz8wj4Vi0JQi97YO6gVzg5Z6?= =?us-ascii?Q?CAFv0LtNhtzSCSev2X/JgWrRkVwZ+6a+mL7LsaeX5EmS9JBqEAM+LcVzLThv?= =?us-ascii?Q?bDsckrZNlbAbM1VyxwQji9CdQTyoxVEeny6RC7ANdlQfzh9FPEI6dWKfsCs9?= =?us-ascii?Q?O0Rh/OYhO1YuJEcx5IhizAXvLDtSY4rlstiqiIkRqy9AqfmVE3ViZBVq2y6y?= =?us-ascii?Q?XjW9Xtf7Ow6iuJwFNADFykyR8iWh+VD/6/PCSikS/tcC/I3ScI+E04+58Eyj?= =?us-ascii?Q?gxwn+e5clSi2q6UUua9/Thl5EVk1FYJKpZKMV98gThy4ePH6J3LxYqiKcsZa?= =?us-ascii?Q?7tOSEMCGU1JWMYkIuSF64UCFHm+DhQ6IeCIqNRovNSe6MVcqNA2abigTx61r?= =?us-ascii?Q?lVaKvgNABO/jo1nCf2a1Qxiu5AwRdne1XFK3WDaLVMAPszbSPrylF3csijnW?= =?us-ascii?Q?ptonGhAtJLuWvFHpP+dWMIP2QflQTf+nYz7P2L5NAiq+0j3PJH/hoPsXTNfd?= =?us-ascii?Q?8snbjGHGZLgLpA9/JHZXE65sZuASLMtO4uchP6+07HA7WLWqfuVV+es0oDmq?= =?us-ascii?Q?QEOoF+8X6NYoeTYTErRsEKMOSBzATE3tgHK9IntaxufkXvrMTRldlwSCw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1074;6:0oZZ4gl9dE1ArbKAzRfC+Lq4yZJgCLX54E1HnaDXpZx5Drsbp5pzGAnBEeoH1sQRcDI2dfbgAl6ztQo8eULmkmwGRWckNQ9RgKgMY+HDMWlTYhrpGfbY7hNdMMfJ4uXehdyvGXKg8r/2m1rKL/qeuibWalJXkBq/+RSyRAEPiyN2GzJr1gQDK4zaCNZ/cvRY+YJr3DEMvbOh9C4UxiOfIs+HtJ3NiAT/8DxqxermanYQ2NvKEHNpL+hvHuwpoX7JYljBRZNeGo4CmAn7eVRdD7e7HtE2n/698euZLP/o76ZKeOE54yL5k1iDsBgqmbTMGXWDCAkUl5Pw7Jyej3SQaA==;5:npTbxfXBjG9/U7Gw+r7c3ED/L4tbA9IczCHDdA5eBtQ1Nu2EBlMwNH1HomJAf4Q4XDMtpf+sVU1LON8NkaAl99cQWFuMR9McUXAhjpmdZbSfZU+kS/WFiDBF/2XFueArEj9eLe7D2kpSKUB5kv0xxw==;24:JDcVlufAK0ineIB4SwN7aX02iJt1cNnhHf6TsduSWg5M78arMonwDzIWfsrA9EbiWAs9QpMfDx3LzXs1sSRRllXEcs6UZBf3EslIFmhG2/I=;7:sATVIPiOVhPwyFYgeJPeq1tYnb5kLTe9UxeB2UyaKPViExmKIbi78dMxAFzIubGFFQB6E53y7q5jUlk/z2hlAYRQwSU6QkjOzzGRDG8tDYjy+0V6nP3YuHrzdrEJT6h7ALV+esqi5M83T9oo20Y4Fpl9kvdLySYBGFvaM5ZyiSP4wX3eb2qP5xAIuR+yxMy22B+YOV2SZHtVmS/HpMaF+/SanAz7cNYh4F+1zJ4NWb8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1074;20:Yw277f3frufbJzjwEfEs9TppjDSpF9rKflrFodzkcDWuhxKdYCCSrUaOT56R79DyzN/peyoZu5iqMVudui85iPAxam6nx8d+mI1BHdtqMqbgsJxFER6D8Ab6e4Iw0T8IG0s5FDLEe16IPJp/x2yjvHG2yRJTJodo9huIvB9RGwE= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2017 12:57:40.5895 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR15MB1074 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-08-30_06:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 30, 2017 at 02:55:43PM +0200, Michal Hocko wrote: > On Wed 30-08-17 13:44:59, Roman Gushchin wrote: > > On Wed, Aug 30, 2017 at 02:36:55PM +0200, Michal Hocko wrote: > > > On Tue 29-08-17 11:01:50, Roman Gushchin wrote: > > > [...] > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > > > index b9cf3cf4a3d0..a69d23082abf 100644 > > > > --- a/mm/memcontrol.c > > > > +++ b/mm/memcontrol.c > > > > @@ -1792,6 +1792,9 @@ static void refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages) > > > > } > > > > stock->nr_pages += nr_pages; > > > > > > > > + if (stock->nr_pages > CHARGE_BATCH) > > > > + drain_stock(stock); > > > > + > > > > local_irq_restore(flags); > > > > } > > > > > > Why do we need this? In other words, why cannot we rely on draining we > > > already do? > > > > The existing draining depends on memory pressure, so to keep > > the accounting (which we expose to a user) reasonable accurate > > even without memory pressure, we need to limit the size of per-cpu stocks. > > Why don't we need this for regular page charges? Or maybe we do but that > sounds like a seprate and an unrealted fix to me. Because we never refill more than CHARGE_BATCH.