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 746A3C4332F for ; Wed, 8 Nov 2023 08:15:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0A3FE8D00A9; Wed, 8 Nov 2023 03:15:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 055928D00A2; Wed, 8 Nov 2023 03:15:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E5E1D8D00A9; Wed, 8 Nov 2023 03:15:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D62448D00A2 for ; Wed, 8 Nov 2023 03:15:23 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id AF65CA0B8A for ; Wed, 8 Nov 2023 08:15:23 +0000 (UTC) X-FDA: 81434077326.14.7EE961F Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf01.hostedemail.com (Postfix) with ESMTP id D9A5740004 for ; Wed, 8 Nov 2023 08:15:21 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=RBl0FFYx; spf=pass (imf01.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699431322; 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:dkim-signature; bh=0FKYvrBE119KQzoa2wyjzJbw+x+PQ+UBi4regXf/m/8=; b=fNTCdVDVMkyPR1zvlKdMT0znxntnJNhN+Ps+pc/m/vh2Bx9ro0FoQ7fukP54QOT08ZIsZw TwnCsE/WCoS80GhRfk7mlG1RzryWGQmGotQi7OsOzYFtuaaPederjL2J5B7ZXUeg7rSedj 9OOt0Um8eCwdwV3adzt9m8G3IwHBokA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=RBl0FFYx; spf=pass (imf01.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699431322; a=rsa-sha256; cv=none; b=rlJoHPB5v4hrLVIxCb55+yyqBGtT/SkWML7YOQEmGhW9G4Z/ZGxEqfBYNeRsGxGsl58xXt rzxHcMrDT4P0wROFCc1B78lydml3pBBJ/mTgWt5f/nvqxAWzoEdufVmQLFQ9Wf5PCrSTkp MqboEsoRohmwtYGRBFJb+uSozD4U0DE= Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-53e08b60febso11157963a12.1 for ; Wed, 08 Nov 2023 00:15:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1699431320; x=1700036120; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=0FKYvrBE119KQzoa2wyjzJbw+x+PQ+UBi4regXf/m/8=; b=RBl0FFYxxsZH3jyx9Gek7J9MKMiTG8DzPH3gox31LlrWNHwrlABm4eCNH7In0exfLW CZnnnZDDQHuCF4M8hd1+tL0ohC/xNzjY5dpgQ8QW0ZaKYgrHbHHH2naPz1WPyi4MeqTv sYsohdYmguAudNi6KCCytvexoxd/kFP1toXWibyXntXC/SVqza0HhDH5JVljukFJjNNc v0yUrNOwNAwofRduqdGGmU9jjEPOoDa7MpRmPjkTCvjBWy29J6Y4Pr1zrytD0SNxcEWm LTpJ/y3cR8P3qEN+7Lzth3Krbqz1BYdfvBvA8A5C8jFGO7m6pfxcfaqwWVWzj3oERDPU 7tZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699431320; x=1700036120; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0FKYvrBE119KQzoa2wyjzJbw+x+PQ+UBi4regXf/m/8=; b=bWOfuGcajYAFDrTH+kSjOcq2T164EA82+tEkrlLqznPIWQA+tauNj/AlV8dkZig2Fg z8XMV01JsJMwn3NhV6TCgeVSm62XLT3kIBF6Xvw5l1wJxnryw4UNnHsQSuMPBUbymKtT cqcc0nAm8tvE0bzQhj7I/wR12wWrGQYgMDUF8C+owUX6HvMBTJssZsSaC85+W5+XA78n kwr8BmDVcz5op0PvDDMAbTwl2vYFkh2SFN/xfIZhzkZ8RNi0cesepyPF2smRDBcos42G vQeSCBuQUod0jfmn9IabX7X4mUAN26KsyJc5Ze7MDzaEMexHWLpwWGUQF98ws4AlBPUM sDDw== X-Gm-Message-State: AOJu0Yx+nfKyTk7BWvCYsFOp7Frp+mkI1w9atcFgbhMs7cu+Movcxyls yyU44YdpbRlTr6R4hRYQd+0SNkT49WYJ7TzsFc7DDg== X-Google-Smtp-Source: AGHT+IElW6cSCNI2mjlOLKAQpiHS/RxO47h/3ylrXY5GAAJz8eQxZfAIV+9yyvxvBU6Bp67ABA0MLFRnF34NBV0dtuw= X-Received: by 2002:a17:907:5c7:b0:9dd:b8ba:1640 with SMTP id wg7-20020a17090705c700b009ddb8ba1640mr874063ejb.12.1699431320292; Wed, 08 Nov 2023 00:15:20 -0800 (PST) MIME-Version: 1.0 References: <20231108065818.19932-1-link@vivo.com> <87v8ack889.fsf@yhuang6-desk2.ccr.corp.intel.com> <87r0l0k6o6.fsf@yhuang6-desk2.ccr.corp.intel.com> In-Reply-To: <87r0l0k6o6.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Yosry Ahmed Date: Wed, 8 Nov 2023 00:14:44 -0800 Message-ID: Subject: Re: [RFC 0/4] Introduce unbalance proactive reclaim To: "Huang, Ying" Cc: Huan Yang , Tejun Heo , Zefan Li , Johannes Weiner , Jonathan Corbet , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , David Hildenbrand , Matthew Wilcox , Kefeng Wang , Peter Xu , "Vishal Moola (Oracle)" , Liu Shixin , Hugh Dickins , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, opensource.kernel@vivo.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: D9A5740004 X-Rspam-User: X-Stat-Signature: w4xyc3kbognngkxut8sps635o1siap5y X-Rspamd-Server: rspam01 X-HE-Tag: 1699431321-842563 X-HE-Meta: U2FsdGVkX1/H2AYLLSXQH4rbS9M8LEr/7G7LXtXEraWK4GFXSsi0kVziVq0wa/2UmlcpnX6T8v3DxI09sL+GslRXofA4SE5zWl01YA+TnfuydV8czq/080MwG7h63zuOf0DEVEYMBJQKm2eGngRC2jZZMZXWI82XXhNuvgiLiUSVnRee6B/yBcQG+7CIVVaGPxXlhSGT8GnlyR7bU1WAAyKeGvPwgiQ9D51WV7nlLipXv1jRWave3fFVS6Dj9iEEsvDj42Yb0rSXcbhpNMrqI5JuwdDX/lSAEpDZ7tVMRwum3R+FPmFmiGLk1noN0yI5QCUmRaO9kQVaOlqQuCF49/1DoyMWCRGR4Kl1LTeRHVnpqDRA1wyj8/jWnwUV9ETmTxb6P2QgjgR3SHfnmVex2Ok6piFpx2IKac+HAvp0CitHgMThuT/iBrBS4JwvL1z+TnBAQvR5KsEXq6KEkoVc9gphk0OKxxo5y9TKwnHPMFfylKIutZ5QXkhd/cCb7oDWQOakAnaG/yKCQ9YjjujYsLx+vtYY0cPjPKKiOvJezBGKOgtBEqLcEdTabxgdKubq5X8E/VU7KUj4wy9rP4gXmK1iEjeOdQOsgLBW3+My1TQjgxgfMdr4z/jhu2QCtRgPXxupe6Pcv3JuwvDtBPJD5IQP8R6ubTZQPPbNokKvSxwVHArYvx1paSvPmC3QvTCxyR5MLIRGw56H6zKcMoZYA+rWTWr7vnTfKD8siVPkBxHWTUyyjRoCMgcndWT28LR+N2h//tas5QC6BwLPN6WOnSBl8KiTF1blDF5LyfJ0K/BWBJ0Q+mG5IiOCjaIoPA/JbCe5BOsBZ3Ac+jdkdAWF4Y6IRJLMg+TJpXQu1g5hwDgg+YSyfqdCgWEdI5lesRL4xTBtEXZYZvBciITu7ristB6uRS5fRjbj6aLkMDm0DVxNR5oagcs35310ZxlzqHxw6DpvbSMx06YP1P4mZno ilfi1dRw X+B+EdZLphQ32a1nJ6bTBDAWK/rayBGsAzhQcZL2JLhPrwk+PmGmlv3ldPgcM1ADMRwyNedB2e+5od8aAhBj62WAUznAGdy7EQh87E3PnOc9nmSi+P4fbvhks1st9nMykNtrPbKq3d72/vT2s7KDThdpMPvATH/y0nMFX/5YjmAsmROINsY/Uwj3f+DbzJu4tXwAPVSxAUYzzAUA5A+4oEzP+XswfsvZv7DQpdK4hKIw96GXkxPQG3LnLkTRVDakVgw0oNVqlCgVNShmJop2KLdph+s81aHjb7aGnd8olJF42ZaYVIbGYabAdgivsexJ5kpuYfiFzRQHZ5i4btgKIDDFWuzZunR/MxhYK5b2KYReP3E26miIjWJ25zjLNbtGoohna 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: List-Subscribe: List-Unsubscribe: On Wed, Nov 8, 2023 at 12:11=E2=80=AFAM Huang, Ying = wrote: > > Huan Yang writes: > > > HI Huang, Ying > > > > Thanks for reply. > > > > =E5=9C=A8 2023/11/8 15:35, Huang, Ying =E5=86=99=E9=81=93: > >> Huan Yang writes: > >> > >>> In some cases, we need to selectively reclaim file pages or anonymous > >>> pages in an unbalanced manner. > >>> > >>> For example, when an application is pushed to the background and froz= en, > >>> it may not be opened for a long time, and we can safely reclaim the > >>> application's anonymous pages, but we do not want to touch the file p= ages. > >>> > >>> This patchset extends the proactive reclaim interface to achieve > >>> unbalanced reclamation. Users can control the reclamation tendency by > >>> inputting swappiness under the original interface. Specifically, user= s > >>> can input special values to extremely reclaim specific pages. > >> From mem_cgroup_swappiness(), cgroupv2 doesn't have per-cgroup > >> swappiness. So you need to add that firstly? > > Sorry for this mistake, we always work on cgroupv1, so, not notice > > this commit 4550c4e, thank your for point that. > > > > I see this commit comment that `that's a different discussion`, but, > > to implements this, I will try add. > > > >> > >>> Example: > >>> echo "1G" 200 > memory.reclaim (only reclaim anon) > >>> echo "1G" 0 > memory.reclaim (only reclaim file) > >>> echo "1G" 1 > memory.reclaim (only reclaim file) > >>> > >>> Note that when performing unbalanced reclamation, the cgroup swappine= ss > >>> will be temporarily adjusted dynamically to the input value. Therefor= e, > >>> if the cgroup swappiness is further modified during runtime, there ma= y > >>> be some errors. > >> If cgroup swappiness will be adjusted temporarily, why not just change > >> it via a script before/after proactive reclaiming? > > IMO, this unbalance reclaim only takes effect for a single command, > > so if it is pre-set using a script, the judgment of the reclamation ten= dency > > may become complicated. > > If swappiness =3D=3D 0, then we will only reclaim file pages. If swappin= ess > =3D=3D 200, then we may still reclaim file pages. So you need a way to > reclaim only anon pages? > > If so, can we use some special swappiness value to specify that? I > don't know whether use 200 will cause regression. If so, we may need > some other value, e.g. >=3D 65536. I don't think swappiness is the answer here. This has been discussed a while back, please see my response. As you mentioned, swappiness may be ignored by the kernel in some cases, and its behavior has historically changed before.