Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13154720ybl; Sun, 29 Dec 2019 05:41:25 -0800 (PST) X-Google-Smtp-Source: APXvYqy8jRpFexhJ93cvYp/PLSiJKoqkYp8LtVPV66MekQupWiWrWWmRlBuIGFe+BQnHUxqcxpeu X-Received: by 2002:a9d:222f:: with SMTP id o44mr55551340ota.51.1577626885012; Sun, 29 Dec 2019 05:41:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577626885; cv=none; d=google.com; s=arc-20160816; b=AWnr3nzBzJwcNlFDcuOL/lT6g5X8GpBhe7yLkmQR8ln8WBv30I1VPJi/N09CK4Cr/G k1Uj0x4XGng/eAOmB3E3N0C7wboKrG1/afk2xs027k4kxp1rlWKSFOzadZe9sAjnwQ01 dN5irRDRx66PIORoQBTHmyyhDjX10XTikXGzWskyNRAVUszHJnAJRsenjPliGKKlwGvW KPtSJQ3uLqJ5OXYfsLFMibxNC9hSZXVdC+RbpS9xNpfqVlx/ye2Ovx/h8bv+5k1Vl+42 KL8LhuCUUAIRZu8Pn75JC9QT3yhZQsHAz55+VYd4jBL37+UgnwvX+Jri5NiFdcqSZNck vrew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=gwgie66KNYol33Ergv8RE+pcwGlV+rEDfONZXX1YSlA=; b=EFbpkt6agaLj6SwLo7wYIjnkLnFOVoHFZ8F8eXvaYv5srO7z+rmVo4WqxUkypvNCv8 GXmoCGKBYc31HwPBRUy96kkD+78V8VcBjoUhKokJ6N8HgeBVnyYJ5vBxVosmVlBTKcNJ GI3pQYFtk3+fs24xCwZDrtgsmvjrp1XzMd9pIwTntSZrLPBJDTrRlM9+4HsteAHqo/7/ ZBZqjzYaW5ojaKkFgAKWBa6cbdF5EW7IxfgDudxVJhtIL48j8BXfM6Yu1l76DMitkwph 3bH594dvF1SfW0jZvCVzr6PLCI2Y8cbb8SInMOzcMDgEZ9kop36FUXsAoUaLiZrWQ8wa BNvQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w64si20018115oif.51.2019.12.29.05.41.12; Sun, 29 Dec 2019 05:41:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726425AbfL2Njc convert rfc822-to-8bit (ORCPT + 99 others); Sun, 29 Dec 2019 08:39:32 -0500 Received: from out30-133.freemail.mail.aliyun.com ([115.124.30.133]:39894 "EHLO out30-133.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726160AbfL2Njb (ORCPT ); Sun, 29 Dec 2019 08:39:31 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e07486;MF=teawaterz@linux.alibaba.com;NM=1;PH=DS;RN=13;SR=0;TI=SMTPD_---0TmAx.Hp_1577626765; Received: from 30.39.3.192(mailfrom:teawaterz@linux.alibaba.com fp:SMTPD_---0TmAx.Hp_1577626765) by smtp.aliyun-inc.com(127.0.0.1); Sun, 29 Dec 2019 21:39:26 +0800 Content-Type: text/plain; charset=gb2312 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: [PATCH] mm: vmscan: memcg: Add global shrink priority From: teawater In-Reply-To: <20191219112618.GA72828@chrisdown.name> Date: Sun, 29 Dec 2019 21:38:00 +0800 Cc: Johannes Weiner , Michal Hocko , Vladimir Davydov , Andrew Morton , Roman Gushchin , Shakeel Butt , Yang Shi , tj@kernel.org, tglx@linutronix.de, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org Content-Transfer-Encoding: 8BIT Message-Id: <1E6A7BC4-A983-4C65-9DA9-4D3A26D4D31D@linux.alibaba.com> References: <1576662179-16861-1-git-send-email-teawaterz@linux.alibaba.com> <20191218140952.GA255739@chrisdown.name> <25AA9500-B249-42C2-B162-2B8D4EE83BB0@linux.alibaba.com> <20191219112618.GA72828@chrisdown.name> To: Chris Down X-Mailer: Apple Mail (2.3445.104.11) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > ?? 2019??12??19?գ?19:26??Chris Down д???? > > Hi Hui, > > teawater writes: >> Memory.min, low, high can affect the global shrink behavior. They can help task keep some pages to help protect performance. >> >> But what I want is the low priority tasks (the tasks that performance is not very important) do more shrink first. And when low priority tasks doesn??t have enough pages to be dropped and system need more free page, shrink the high priority task??s pages. Because at this time, system??s stable is more important than the performance of priority task. >> With memory.min and memory.low, I have no idea to config them to support this. That is why I add global shrink priority. > > For sure, that's what I'm suggesting you use memory.{min,low} for -- you define some subset of the cgroup hierarchy as "protected", and then you bias reclaim away from protected cgroups (and thus *towards* unprotected cgroups) by biasing the size of LRU scanning. See my patch that went into 5.4 and the examples in the commit message: > > commit 9783aa9917f8ae24759e67bf882f1aba32fe4ea1 > Author: Chris Down > Date: Sun Oct 6 17:58:32 2019 -0700 > > mm, memcg: proportional memory.{low,min} reclaim > > You can see how we're using memory.{low,min} to achieve this in this case study[0]. It's not exactly equivalent technically to your solution, but the end goals are similar. > > Thanks, > > Chris > > 0: https://facebookmicrosites.github.io/cgroup2/docs/overview.html#case-study-the-fbtax2-project Hi Chris, I have another idea about global shrink priority. In the memory-constrained and complex multitasking environment such as an Android system may require more complex performance priority. For example, the tasks of app in the font, they need high priority because low priority will affect the user experience at once. The tasks of app in background should have lower priority than the first one. And sometime, each app should have different priority. Because some apps are frequently used. They should have high priority than other background apps. The daemons should have lower priority than background apps. Because most of them will not affect the user experience. Do you think this environment is suitable for global shrink priority. Best, Hui