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 D460CC7EE33 for ; Thu, 29 Aug 2024 11:50:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 69DF66B007B; Thu, 29 Aug 2024 07:50:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 64E466B0083; Thu, 29 Aug 2024 07:50:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 515856B0085; Thu, 29 Aug 2024 07:50:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 2B0956B007B for ; Thu, 29 Aug 2024 07:50:53 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CD427A0D13 for ; Thu, 29 Aug 2024 11:50:52 +0000 (UTC) X-FDA: 82505116344.13.AD2319C Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf19.hostedemail.com (Postfix) with ESMTP id BFA6A1A0013 for ; Thu, 29 Aug 2024 11:50:50 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=FxQWXkkV; spf=pass (imf19.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724932206; 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=DIO5qiw4yauFIXiZ7VjLTOR2SQbB7twhVj/N0jkHHp0=; b=eCgzuHcNM7/85BPCBPPV/bXeSDsXM/dBVLKj0aQrvSVpSLfq54CkP+k4W5I2Yw0on+OJyU yVXyo2rtGsNqM8lkuJF9PzuA/1jyDovHSxLIU7oVudZIF9mpyVve8h+ptNKBLXsBITnD/J fJKnjuphdF1dxfqMHrPmiLHUJIVSNPQ= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=FxQWXkkV; spf=pass (imf19.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724932206; a=rsa-sha256; cv=none; b=uzOEOR4E0ErNSKZ6drcrKKSWAZoXy+Dk5AdEqLEFqyc9hiZhmu7+BLwQRYo0790GK+i4rl qW0Ll8H9BBNULWw87qJhJYxgozgskO+dP4po1J42qYbpeUC+KXy6kV2Rm6kwcSvch/HwDA 1rG015vGjmsEuAHc0Rc4QFjUGllAHW8= Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-428163f7635so4926595e9.2 for ; Thu, 29 Aug 2024 04:50:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1724932249; x=1725537049; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=DIO5qiw4yauFIXiZ7VjLTOR2SQbB7twhVj/N0jkHHp0=; b=FxQWXkkVpSWs4uyLA5iPYITAZSkOPMoNEwtG/uvl8l0AMU9BJKnV+o+JdwfFUCuehN rEeNTvJIDS4KjmY89AkTYlmoHS2fo6z5/TXxsCZ9PKOcRwNfrSD3Nkyl0jhNu2GiUZQr Hcbglb9C8ijBhL984wC+tzSOE0D6MH1LE6I/ywH3Y7AGzPM4xh8g+E5D/Cr3otuqcSZK hP0aEKsVAyRrLCV+0LOSWsyExdxlajx1NFMhD9dFLU/QfOxXuNL3Ha2UBjKOjBrxWx8i OiG0Qyh4lSct/kVPVM/TnFIpY9Rxlygdmwabkhjj982VxNPqCBnAcZhkgafjS/8NCbrT 6V3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724932249; x=1725537049; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DIO5qiw4yauFIXiZ7VjLTOR2SQbB7twhVj/N0jkHHp0=; b=kBkg4tk11iT75ug+bqcSgA93cP+3jVSf/hmgx4VG2VTfe2I/KnJRNNoopTRwACx7Ew m8bdFHHu4lgjfJZqEd2IBCbpKOkUgzcnx2UDR5UapNdgA+ZdkJGq5eYP2uKy+Cnya30G g+WhtIt19+bJUB3MvaUPNpbmcn0oitGF5IoD0BxqsDoOJ+L7ncUbvl1Ip4JNJGsbHePy p1SCnJQlA01p3tutjvQFsypnKKQZsKOwiSJoAUiLdUAl+1qbHbJH947WWwdjy2ySQy2l q2amMXpUY8VwQ12IDvPQbbNDky+2/tDmINzU/1HDgXmtBlqWEwCsoXCTKm/9qQ315Wyi JHGQ== X-Forwarded-Encrypted: i=1; AJvYcCU6T+zSiiZW5mzJXmA8q8jbIbEetL7tEZxfN25CygKzlel49Urt70fDQEsjvQ+Z2CG7AHESc9brFw==@kvack.org X-Gm-Message-State: AOJu0YxxSXzAnJyO9um8a53ZrFjWfbvOTnvnQ1FgD/5+oU+Wk5fD34sk /FAorxq1FG0QJDitAaA/iz9rOh8QPXf5mJvK3S1mlZhJ3DTCMkkrczo568Pky5w= X-Google-Smtp-Source: AGHT+IEmpkM9Gew6lNJX7xRAVX0JcsJ0hRG43Yp3mQUWq5l3vmuNVuzZ82AG7V3Prs/kjd7q1ANG1A== X-Received: by 2002:a05:600c:4f07:b0:426:6138:34b3 with SMTP id 5b1f17b1804b1-42bb023cdeemr21431665e9.5.1724932248954; Thu, 29 Aug 2024 04:50:48 -0700 (PDT) Received: from localhost (109-81-82-19.rct.o2.cz. [109.81.82.19]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42bb87f7fccsm7945595e9.46.2024.08.29.04.50.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2024 04:50:48 -0700 (PDT) Date: Thu, 29 Aug 2024 13:50:47 +0200 From: Michal Hocko To: Zhongkun He Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, lizefan.x@bytedance.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org Subject: Re: [External] Re: [RFC PATCH 0/2] Add disable_unmap_file arg to memory.reclaim Message-ID: References: <20240829101918.3454840-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: BFA6A1A0013 X-Stat-Signature: tqrnxkjp9spkdg16ejfqz4nuzocm9ycp X-HE-Tag: 1724932250-718624 X-HE-Meta: U2FsdGVkX1/6yQrv2IRK22BzpZd87UEZVEHzv+DfbhNvgp/AHBe3dTl3DGhVTS/x/Mk3PL2tKgxJrRSfF7deYyAQIpnRDYwTCjvVnNXtg2RpUw5sbTRX7fw7KEgM2W/3UhoQRc/VM556CMIs+A+caUEctWa2UPwxAxMXtYvMYFjcyGeJTQjDP+A5n1dn3KTu0d+FDfqfj/HGxwtGnX+dCBvwnH80WbXRNqy9zxB6aIfrVMujCHR0Ru6EQY3XLHHunbKGNhO4+3vDTR6jlTbhQe+kMXTEfu3OoE9z+S7eOWa/BFlGuBuxLMh3h/LOVnpQLGGqYpTNCiEQkC1usF7xXYcz6HjSeMQHvLfAr1qzLLqDvRK2XbFY9KGk4KRMw8HAcaGKOSKbTLaRviDBTgAxyb/sljSMDHf9PHz9tAgULN7lwJ6w9EcHryYOFZzWn1Pwh6mf5TjmvVfB+mqXtiw5a7ToN0uv+Fd3hzydKxYsF01/ZD7zMC0tO7ngZYFRuP1RpIO8OOww+f6tbggvIuXSAJJqte1JJuJA+LUUxHbam4uUugQFx4ar5wZHTwURETsq3UCylRFoTE+AlR0xNd7EqLtDNtFCsnOzCQNmDoCXOSUOHYEhu1tTwqtoNTr/xoctmJF0e/ZZD8rxW75E2yo4UEn78kaRyqlyW2CeDNYso+a5PGpZlCWjknf3EQfhZjgVYXCpEb8Rf85/aY8afKpmIGNrXuXRPaVwqc1PFEUEghhq+sFGRJRvSN87/1jtAmFQU61pe7OFSZVjOt0kOlVT0f8onXgxjpC72YKcM+vaw47bwC2GXEYJ8XUDQQqXYR8Wiu2wuf96A2gl0GCFuiQ/z/1fOKFQ/ccBOBKa518Bg/6Oj+B3sY0D6eNj1u9sjHBLbQzWOcQBj4Ka0vcLfO42DV8o1UmKnnB4tAjec5I0ri6KxUK8MVvSTr46IXMEb98T0pR6oZdYl+ZIa9o8LL4 zu0GE78r QlbIVNkc4qNMTlMgmMAJNziiK7TDfmBbMoaDef+gDaItBUIKkBB2Xs0qyF2wxJTCPhecdpnmhmKx3RLejJG/msY2Pu9dyxGLHJsrR7o5Mgwh74soGEzs/jeBoBAXC+cyJRHioD1LaceERe7Tscktuyn5QBmGN03RNanMO8qkJ+WyS/d18YT4LQlne5jcbH4pue8IInEkaqnt2D5alqeVCzNSblsgu6z945WHHMftwVqpBVUuO4+MWmv71a3+tTc7wCM5GL+0ZmbO+D6mkKfAe1SzSpJXQclneOdwRCxhTyhdgzlNithFDApNjxVLiy+0Jd7IoFGHk9zUYeWPABassp9PCPu3ah96hjEvxxMWvfaHsm693/0Q7fhM7uQMu++NP+NobE3PPLRLOpYcRn0RFNW1+0SnL3mr6CZ9d 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 Thu 29-08-24 18:37:07, Zhongkun He wrote: > On Thu, Aug 29, 2024 at 6:24 PM Michal Hocko wrote: > > > > On Thu 29-08-24 18:19:16, Zhongkun He wrote: > > > This patch proposes augmenting the memory.reclaim interface with a > > > disable_unmap_file argument that will skip the mapped pages in > > > that reclaim attempt. > > > > > > For example: > > > > > > echo "2M disable_unmap_file" > /sys/fs/cgroup/test/memory.reclaim > > > > > > will perform reclaim on the test cgroup with no mapped file page. > > > > > > The memory.reclaim is a useful interface. We can carry out proactive > > > memory reclaim in the user space, which can increase the utilization > > > rate of memory. > > > > > > In the actual usage scenarios, we found that when there are sufficient > > > anonymous pages, mapped file pages with a relatively small proportion > > > would still be reclaimed. This is likely to cause an increase in > > > refaults and an increase in task delay, because mapped file pages > > > usually include important executable codes, data, and shared libraries, > > > etc. According to the verified situation, if we can skip this part of > > > the memory, the task delay will be reduced. > > > > Do you have examples of workloads where this is demonstrably helps and > > cannot be tuned via swappiness? > > Sorry, I put the test workload in the second patch. Please have a look. I have missed those as they are not threaded to the cover letter. You can either use --in-reply-to when sending patches separately from the cover letter or use can use --compose/--cover-leter when sending patches through git-send-email > Even if there are sufficient anonymous pages and a small number of > page cache and mapped file pages, mapped file pages will still be reclaimed. > Here is an example of anonymous pages being sufficient but mapped > file pages still being reclaimed: > Swappiness has been set to the maximum value. > > cat memory.stat | grep -wE 'anon|file|file_mapped' > anon 3406462976 > file 332967936 > file_mapped 300302336 > > echo 1g > memory.reclaim swappiness=200 > memory.reclaim > cat memory.stat | grep -wE 'anon|file|file_mapped' > anon 2613276672 > file 52523008 > file_mapped 30982144 This seems to be 73% (ano) vs 27% (file) balance. 90% of the file LRU seems to be mapped which matches 90% of file LRU reclaimed memory to be mapped. So the reclaim is proportional there. But I do understand that this is still unexpected when swappiness=200 should make reclaim anon oriented. Is this MGLRU or regular LRU implementation? Is this some artificial workload or something real world? -- Michal Hocko SUSE Labs