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 17AC3C83032 for ; Thu, 29 Aug 2024 10:37:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 88BF96B0095; Thu, 29 Aug 2024 06:37:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83B746B009C; Thu, 29 Aug 2024 06:37:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 702396B00A4; Thu, 29 Aug 2024 06:37:23 -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 527C76B0095 for ; Thu, 29 Aug 2024 06:37:23 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C17C980446 for ; Thu, 29 Aug 2024 10:37:22 +0000 (UTC) X-FDA: 82504931124.21.7578837 Received: from mail-il1-f178.google.com (mail-il1-f178.google.com [209.85.166.178]) by imf28.hostedemail.com (Postfix) with ESMTP id 9539EC0007 for ; Thu, 29 Aug 2024 10:37:20 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=lfQPxSd5; spf=pass (imf28.hostedemail.com: domain of hezhongkun.hzk@bytedance.com designates 209.85.166.178 as permitted sender) smtp.mailfrom=hezhongkun.hzk@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724927796; 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=a6dBWYjdhc8JKZrKU+HUoYifjEEos8EjaEuP88HTkb4=; b=m9gAXql7MDPjmk4VsjUtI9x7uNkqM4EpeFuSa+8WNm4pFfaKkx6OoMAmDaWCZrWFBQJX4+ c69qarX68xewpMOwKl8pha2zRPr3R47oWSZn3cD9hDOKVaQGFUKEcyy6F1fyq6Jvj8tO50 UOWUup5pQVadgzvnczuN6JwSR70HvTU= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=lfQPxSd5; spf=pass (imf28.hostedemail.com: domain of hezhongkun.hzk@bytedance.com designates 209.85.166.178 as permitted sender) smtp.mailfrom=hezhongkun.hzk@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724927796; a=rsa-sha256; cv=none; b=2ujsJN792m5pX3d/A8XAwxeqXRMrGdNOdoTqM8F0EokJqEVjBkHDlF0jwkTZ1U/IEU1U4D fkYkCPMMLHURx68jQ0W0/07is/SE3NW9U/Qc0MNij5Q07c2fWe4gdKph3Zz6J++AD1HJY4 3I2r7P2pwB06F4HLRVSCFSRX/LE8PSU= Received: by mail-il1-f178.google.com with SMTP id e9e14a558f8ab-39d2256ee95so1683465ab.2 for ; Thu, 29 Aug 2024 03:37:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1724927839; x=1725532639; 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=a6dBWYjdhc8JKZrKU+HUoYifjEEos8EjaEuP88HTkb4=; b=lfQPxSd5YbtZS7x50lGVGGgDCkUPDA+eA/wuAsandrDUmwLzutkRUiQCC0mIrxmm/V ytTWfY5lT9CIAw4V+yqAzpUogVRyvD2lNFGXt0tplI/pLhiJQCKCZrnesbOAqXLgdopZ 7zRDSCTQvIDqCGYJQ7T+q9pRB7qwnmlQVQ5e20J78aEcx5NRincPy638mMTvwYmMnWiL 8ISUyC7IQulvFtM1Y9zyfU36Tll44ALejleNNg2Pn+A79PydhDZ2hH1ynjl4LVz0MwGM I7Zg2N+/X0pn7qeBZI8sEuGHreVhsYA+sSMkl/CJqn4PkoVO2pfQXZcWE3aIpe75Npkl G3GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724927839; x=1725532639; 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=a6dBWYjdhc8JKZrKU+HUoYifjEEos8EjaEuP88HTkb4=; b=cmTesTfhYWdWFQyd6tLPq6trJNhkT/c0MquFtv45VdmigjZuHHNX0I0q8Q4RCJMkUd eTC7+JFp50AcldFmFogVSEly0LoHlvBFxVFFUO9OO1cWjtlyt4QOPQgiIVsfFIqPnMVK Gh2WuOahJNaFHWD3fkcgF+p9eHCLLYJSaLJDqm53l3SNcQngXMhFwymTsfO5vMzQTBt6 bLZUYPAk3+Roi/zAZllh02T43UAncRNqaT5rJe5yWnA84PH2yqnhPhOSQ8LpnFg4DxVy RgetX+lcSt3fBKk5TiSMtzjvukWPC5TGFzyw2SV4lVY6e6fZZgROkY/tai+z+1Ua00JB /jsA== X-Forwarded-Encrypted: i=1; AJvYcCXJBqO5x/eVG/2EWchkha2dQZMjEymiiWwSj4k2zwfa4QickyE9VoRgAGbB8IlV/xwduaCzcVFXUg==@kvack.org X-Gm-Message-State: AOJu0YxhQqwGNQyJzQrk56fe5fQ806ox1Uke2rtWyZj7GcSgYX99ucsc llqF/vrOUlnzi8J6D27vaEBWt/9aWiL9F38AoM3fD6LCKXO/1CHbM6x0c5Et0RlYqvtZ5J9gxgN I5Vj2yEoijBTh4Qxt/vLPnfbNj/4sD1PxkcOVAg== X-Google-Smtp-Source: AGHT+IGb/XrPLIB/LK0JZNhCqY5B5RcuS43kJMkiB5TSE+YYLuclD7Q5v88w7T+ANquLVGQBCNYWtdASS4S3joslXGg= X-Received: by 2002:a05:6e02:1d17:b0:39d:2e35:4d8a with SMTP id e9e14a558f8ab-39f377ea4a0mr30427015ab.10.1724927839442; Thu, 29 Aug 2024 03:37:19 -0700 (PDT) MIME-Version: 1.0 References: <20240829101918.3454840-1-hezhongkun.hzk@bytedance.com> In-Reply-To: From: Zhongkun He Date: Thu, 29 Aug 2024 18:37:07 +0800 Message-ID: Subject: Re: [External] Re: [RFC PATCH 0/2] Add disable_unmap_file arg to memory.reclaim To: Michal Hocko 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 9539EC0007 X-Stat-Signature: wdrx5moi8zbjhtqjrk1swi7xa18u1n7f X-HE-Tag: 1724927840-701046 X-HE-Meta: U2FsdGVkX18zfmSjgSxPiw1A7kyMxZAjVTJRkHKwz/6nlrJkspgqa555O+0ztatG3LhMEsFJKArgFS0veqE9gKEYmAbOpSdp6Rq48la4Q9vHqamIxvAM9mL8wUo3ZGCkxHvrOYDqESbWb6FEBqOTdBQCYJ8CIeagkHiEOdZAsJ+QzgZbVqoG05twRNuQXfgXdnG5nRdE0l+YKsfbdhARdaQ+vcUTCltmQVA6GnVLh8QkVovoYyuTYeZNjF42K/rlQlcj0M8qtsGW2xYRNbZOLFwkUxAwXii6R/lFpSaeyYawbtmRRgJKcJfvHb/OnXtt8RVYVEBnFJWH/jWi5tfyziO21FY/Ei23yknsIHtug5cniE15ZAcdQfNGD9gOMPrWjD0vGJT+ef1aE1Lk2NXUBgxCczvbnlMnRjAw3f0Ue6M7FURr7DUkialekJgi+KBe+T7VPCAV/9nUcQeK5Wzt4euSX2nuFWL/zygE2IQF7iB1/1Kc0gc+jYA4+am4wvl6W4kXqKNJplibwAkp5snq58+mE8qot4CUDSB+cGigGMIRS8s/j70MBH+eSmEqbEKVvB77KPABbOmgfisYt82rFAji22pLRRTSt1ICRzblZauCtNJRHAL3z46eAGn+/jyfhoi+c+ibM22YYMFgtc36sI0VECeXgigVSU/8/4nqJsyLdysAcAQZixCi+TaPle7JLahoN0q4McyVrCxsd3aWDGhk8XM0YT2AXyzoYu3At7q6C9qEEn4C+NBO/0yFmcmzsVjA1KLx48RFdFVPxc2LA+2ksCToq0vGcPtTuyU/m79q4PU06jtOoxvVPaQXb70blFfe0/5DwrzGamXXLX5KKOdJSg0Akbf3LciB/qve2XK9hkMdpHoVHkowSz/7UjwyzFnXcz9mQ17fhsTBHL73e509rNTTmAgu+a17eMrc6Iq/iOSlwXNdNh7YTC8bLTNSnYYvHZDnO7TPutRBieG nXHiwcf9 Oh+p1OPDEEJ5WwBdaWLJYwWIlS/TCh9pSgfQSieEC3QQis7F/rt0lDLRCgQxRjr1w5+BYh4+ATuty0UG1HQ1GC+aRlncVC9SmOMGX/uATjImdy/2NKNgabUqbf6dRkdS03SGiGVi8yc94Jr2lxJyQYVa0fKzmIwWJBfc156+4NRyCucy3W39Gjhrt3kwrk/+VxNiZYnrah4qtuTw6in6GqeanEW1H6ykESDUea6ufmjATfBAEXF6dD9y9PR+9Y7etLWZtNd7loP/2Im4e8ABDv2JIPAkIWZHDCHmVmqkPimYOstpcYVqh7bJ7TFhC7E4QZrQW X-Bogosity: Ham, tests=bogofilter, spamicity=0.047005, 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, Aug 29, 2024 at 6:24=E2=80=AFPM Michal Hocko wrot= e: > > 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. 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=3D200 > memory.reclaim cat memory.stat | grep -wE 'anon|file|file_mapped' anon 2613276672 file 52523008 file_mapped 30982144 echo 1g > memory.reclaim swappiness=3D200 > memory.reclaim cat memory.stat | grep -wE 'anon|file|file_mapped' anon 1552130048 file 39759872 file_mapped 20299776 With this patch, the file_mapped pages will be skipped. echo 1g > memory.reclaim swappiness=3D200 disable_unmap_file > memory.recl= aim cat memory.stat | grep -wE 'anon|file|file_mapped' anon 480059392 file 37978112 file_mapped 20299776 > -- > Michal Hocko > SUSE Labs