From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8CEDEC352A1 for ; Wed, 7 Dec 2022 02:32:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0FE308E0003; Tue, 6 Dec 2022 21:32:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0AD9C8E0001; Tue, 6 Dec 2022 21:32:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB8858E0003; Tue, 6 Dec 2022 21:32:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DD9DB8E0001 for ; Tue, 6 Dec 2022 21:32:07 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B956640717 for ; Wed, 7 Dec 2022 02:32:07 +0000 (UTC) X-FDA: 80213935494.23.C627B98 Received: from baidu.com (mx21.baidu.com [220.181.3.85]) by imf05.hostedemail.com (Postfix) with ESMTP id 4C38A100005 for ; Wed, 7 Dec 2022 02:32:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf05.hostedemail.com: domain of lirongqing@baidu.com designates 220.181.3.85 as permitted sender) smtp.mailfrom=lirongqing@baidu.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670380326; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=f9D5HfdrbXCK+RjAaHHE2pWBwpBK7hpt/vfJ0/z5FkM=; b=o+/faSzqr+w0UGXSBcj3EvkJhCKkYt8iDO5mW8w/qtDXLGZkPOYCQcwhM8idQbIHWs2GwW qYuRdjJEk8LBI8HXk6Eaow/hWFfIDXyZAvIBnjaOZhBEvD8VgakXRIB1XzTuiCU9BQsOD8 bnxJHIiEFm1jdnMK4V52y9OTvr65ryY= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf05.hostedemail.com: domain of lirongqing@baidu.com designates 220.181.3.85 as permitted sender) smtp.mailfrom=lirongqing@baidu.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670380326; a=rsa-sha256; cv=none; b=ot5e3Fs4Z+HiuO1MbH9Og6o1penKZnlk1EKqjoiMYvGeWL5Z+Ng0R2yzrkT/TXhqdo3C3n mNPWSm6bM4AbJl1tmKqhTYtOt+bXavVJoqp21nAJFL55OnboyOynVLF3vqskpjpuj4wl1Z CYxzXyaMVLeNt8e0lVW2bGgT9rK4C9U= From: "Li,Rongqing" To: Michal Hocko , Shakeel Butt CC: "linux-mm@kvack.org" , "cgroups@vger.kernel.org" , "hannes@cmpxchg.org" , "roman.gushchin@linux.dev" , "songmuchun@bytedance.com" , "akpm@linux-foundation.org" Subject: RE: [PATCH] mm: memcontrol: speedup memory cgroup resize Thread-Topic: [PATCH] mm: memcontrol: speedup memory cgroup resize Thread-Index: AQHZCMc63PDt6qwURkexXYPH0DmLLa5gJJ0AgAGMc2A= Date: Wed, 7 Dec 2022 02:31:13 +0000 Message-ID: References: <1670240992-28563-1-git-send-email-lirongqing@baidu.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.206.14] x-baidu-bdmsfe-datecheck: 1_BJHW-Mail-Ex15_2022-12-07 10:31:13:416 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-FEAS-Client-IP: 10.127.64.38 X-FE-Last-Public-Client-IP: 100.100.100.38 X-FE-Policy-ID: 15:10:21:SYSTEM X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 4C38A100005 X-Stat-Signature: az57rcx1i5m7fg5i3a4wykgfrxkr3k51 X-Spamd-Result: default: False [-1.15 / 9.00]; BAYES_HAM(-0.85)[78.27%]; R_SPF_ALLOW(-0.20)[+ip4:220.181.3.64/26]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_SEVEN(0.00)[8]; RCVD_COUNT_ZERO(0.00)[0]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; ARC_SIGNED(0.00)[hostedemail.com:s=arc-20220608:i=1]; DMARC_NA(0.00)[baidu.com]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; HAS_XOIP(0.00)[]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-HE-Tag: 1670380322-138991 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: > -----Original Message----- > From: Michal Hocko > Sent: Tuesday, December 6, 2022 6:33 PM > To: Shakeel Butt > Cc: Li,Rongqing ; linux-mm@kvack.org; > cgroups@vger.kernel.org; hannes@cmpxchg.org; roman.gushchin@linux.dev; > songmuchun@bytedance.com; akpm@linux-foundation.org > Subject: Re: [PATCH] mm: memcontrol: speedup memory cgroup resize >=20 > On Mon 05-12-22 08:32:41, Shakeel Butt wrote: > > On Mon, Dec 5, 2022 at 3:49 AM wrote: > > > > > > From: Li RongQing > > > > > > when resize memory cgroup, avoid to free memory cgroup page one by > > > one, and try to free needed number pages once > > > > > > > It's not really one by one but SWAP_CLUSTER_MAX. Also can you share > > some experiment results on how much this patch is improving setting > > limits? >=20 If try to resize a cgroup to reclaim 50 Gb memory, and this cgroup has lots= of children cgroups who are reading files and alloc memory, this patch ca= n speed 2 or more times. > Besides a clear performance gain you should also think about a potential = over > reclaim when the limit is reduced by a lot (there might be parallel recla= imers > competing with the limit resize). >=20 to avoid over claim, how about to try to free half memory once? @@ -3498,7 +3499,11 @@ static int mem_cgroup_resize_max(struct mem_cgroup *= memcg, continue; } - if (!try_to_free_mem_cgroup_pages(memcg, 1, GFP_KERNEL, + nr_pages =3D page_counter_read(counter); + + nr_pages =3D nr_pages > (max + 1) ? (nr_pages - max) / 2 : = 1; + + if (!try_to_free_mem_cgroup_pages(memcg, nr_pages, GFP_KERN= EL, memsw ? 0 : MEMCG_RECLAIM_MAY_SWAP)= ) { ret =3D -EBUSY; break; thanks thanks -Li