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 7F94CC19F2E for ; Thu, 27 Feb 2025 15:54:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B481280002; Thu, 27 Feb 2025 10:54:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 16506280001; Thu, 27 Feb 2025 10:54:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 02C2C280002; Thu, 27 Feb 2025 10:54:36 -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 D9DB5280001 for ; Thu, 27 Feb 2025 10:54:36 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 98F9851016 for ; Thu, 27 Feb 2025 15:54:36 +0000 (UTC) X-FDA: 83166172152.12.7D5C6C2 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf14.hostedemail.com (Postfix) with ESMTP id AD31810000F for ; Thu, 27 Feb 2025 15:54:34 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kfbIW1ZE; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740671674; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m9bPGz801kkJn9iCmpXJNDNqMZZQ/9mEdp7xfOKgRlg=; b=E6Ucrl9PFCNMfiCZz/LaXLZNbHmufkRfLgdJ2/kqxSBOyZxD7Q357JvusBVVYS3Leht5uC SKDT+lJjVsTGqouyKAqH6bD9AQn8M6GZ79gzt/0rcw8g3mfTCAfWkA4oR4O2gPZfcUNsRq JhXGL9BBpVJqRYnZIj5ZVeGhuySoUs4= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kfbIW1ZE; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740671674; a=rsa-sha256; cv=none; b=wO5Z8Mylbetp2AteqqGpDGmMedaytnx66wtvasKrz9lv/amjmpQsmc5daua7rw8iwWov2t M/hEgSzA0tabsGpiia1348NBZCXNdd8Jbnp3820gl+dGDLEHLGVV51pzMRZksRQ82gyiVR 7Kxeh4A4BIq7jcP+wO5dVsgJqHo2pFs= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-6fbaf4cf2b5so7431427b3.3 for ; Thu, 27 Feb 2025 07:54:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740671674; x=1741276474; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m9bPGz801kkJn9iCmpXJNDNqMZZQ/9mEdp7xfOKgRlg=; b=kfbIW1ZEnXneE8B7v6FMGxRUvSaO20lCki9y52rUPguDP7lGF5Q3H6ujLefdx59NTe sbSvS68s2WgWVj7YGE2VqXVFCyRel/xc6Mv1avwJWuvsA50/3zZ69HHPILGgKn3tELzc 2gOtuCxvxPXMyPI5QQH/u5YDT/kouCo7VMfO76qOjk7uTleipMPBDwzYexEwrgchidtZ D+Ey/VDNj0EhyCw0zZrOilELO7vsk1COa6OPNamjNGJp5Nb/u8BBy8PQ9YnPxnyz6kAB hva7nJizwXUYrGQbuDfCPfTvweGL1bdRMXfCd6oDJyDi5uqVEIusrVtd3U4qeroMfgx3 dRsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740671674; x=1741276474; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m9bPGz801kkJn9iCmpXJNDNqMZZQ/9mEdp7xfOKgRlg=; b=WqHVnPNox7itTZOrO++BK7fE5uaSj5mx7DQGTkuJkh/0RhzUCtmfj2pd9qz52th3et bJWkMPwOvGRZDnYjIvGoRAZNWTYWfYNnFEjfwBXcTXvwgWLg81w8de3reP7gWvQdsY6d UNdIXezVLNqdTPRahbjek/L8HoZE7XDFVFnWhoExL9buNE6iei3nmUjtpgnyFoUrB2VZ V1OqlF6G3UmDNOIeIt0b13yzYKR+98IUxvN4VMdV8KvfJZHW2DkTOcvqkVXZVSSXO6nT fy2KMciYoPalpGlcbMHOytnM1kCzqKapIEeOCGY7XtyCg4cJLm9PD63HJOXbtiKI/gk6 CgKg== X-Forwarded-Encrypted: i=1; AJvYcCU3Vwqj/mJKA47VHGll9VMd5FIOGkBR4iRlnAKBcp6/fQaOrkn9n0MikJsAkAjp0gVSrCopWWwg5Q==@kvack.org X-Gm-Message-State: AOJu0Yy8cqBG9X8yn0x2kEDUT6L+Hawq8+20bWL5LfisX9Rm/eJdc2Vm TQSmc/ZSJyM7Aa09NvxzHp3L7EzP378CZQHjRjNXa6CVInjlC3AU X-Gm-Gg: ASbGncuOzscA0CA6mLA0GiMfjvsAh0vDs7Z8n75rvdQ5ucLl/12FhcdpV4blgzE41vL 2eg2aZN6CqlveGNSrFIuuph3DIoCVk3tpfrldGycf0NkoCUNTk1OUJortBBV1AYCdj5zGx+OP3S HaXoWrLXXRpGkqJ9NmKZGGEPPNLfwX2LryVhr74uonl+t0BckI/NcjSCYwHchEBdjDLBdKLdA1k hF65b+y8PpD+u/tUPRQYl/cI8Thuq23gs/tQDjvRjNvDO/FfllKDsWFTJLt9t/XNJXCsVXkDq+F nhrRMeWRb3tMgty26tb7npSM X-Google-Smtp-Source: AGHT+IEyUGX+brDFTVPqVNnaqmRxpEeAEkMEQ5dJKaTLcNSBoGci/hww/51VAjvABsiCCcykiSU0+Q== X-Received: by 2002:a05:6902:1086:b0:e5d:c0db:b3de with SMTP id 3f1490d57ef6-e5e2467a803mr21518743276.34.1740671673643; Thu, 27 Feb 2025 07:54:33 -0800 (PST) Received: from localhost ([2a03:2880:25ff:2::]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e60a3a41ab9sm520515276.27.2025.02.27.07.54.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 07:54:33 -0800 (PST) From: Joshua Hahn To: ying chen Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org Subject: Re: [PATCH] mm/vmscan: when the swappiness is set to 0, memory swapping should be prohibited during the global reclaim process Date: Thu, 27 Feb 2025 07:54:27 -0800 Message-ID: <20250227155431.2534325-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: AD31810000F X-Rspam-User: X-Stat-Signature: xsoz6ody4xgwtrnuxbz51aqrwhknasdu X-HE-Tag: 1740671674-345554 X-HE-Meta: U2FsdGVkX1+7PW+mUjrlNxlVVJ7SZ5sTZCb1ld7j39hIvd+5EQ9ZLGTkXdY/T+ABcsqeB++aeviiiFdLSAUmjN61wFwBzcIfSZzhtff8TPo6bd4nMW+pphqYkokVutH2ZaijlCeR7msr0fWYbNjziqsa7P+cFp/LcsM/HXrqHVKys29RD8pGg/jowAxLkuEEjatD7qYLkoneiBPKYf++DqXYzGbLuF2aYWFjgGqDXUMrvmSdpFPCGwimO+LaIGT1hKfftWM0zNOmPwSRl/ySZTwc/WCZLSgnVJHoyhehUpEZ7tfSFRYuif0FPQvpveoQafks9Za1eo+xgXcWC+t1ZXFj+O8gwITBpFVZGbsnE47o9y5nfrT9tloNthH64nHhtenw79gyvZnkM4eMpzzq3XM7WNkoa+qxmAV2AjxVU7KH3DUl0jJgHDNy0YxLiUVohWPXF13lXv+4N/Hk5z0JKfOONL0g7aXEFOYDPnesARPZuD90EiNMefqfYkrFKNPNcfcjR5V/hk/n41gngPjX0TEjmkIBNeKxUaiz5fAvC/lPE8mtqM09xDplHTsFyk+MW1l6lPfY1ARAimkMx7zNfY6fTXxMw27lJzjJh+V3jAndgXKN79TP0XvD2Ww6OvJz1n5eqUTmWGGuqgtEGujiDrIR8DGW0gAbwYlXo9xPTKFUIkJWtNTR1xeUpY+Xpo3JdXGBFzFDoKruL6LGH8l8mWyLZ4ClyRToueN6S/dNZKHFuC1eqKMy6WsH9JDuB5HEcyXcl9FcyBidn1FMjkMDkGVil+TyqqKizASTte/wrSDVWdoYwHKAyvd2ENKHy/CUrOrlsZ7tNAWk98T4/a1wOGiLd55J2PXMuFO0f9SFaqJUyJ48h+IEKFDoZW4NJgymh7a0rpFP0hOy+2devu/OqE8W5+r5NW2ZOoD4PFKmWqMRoIAWL7vAXnAc1eM4EQOyuB0ja4k6L/dpnRGXUCg JT5jdZQH cDMtgegiGprdxnzaK13kndxjD94Xp3QjxAl+EP0gbFOpACvLzgRKX4kvL8N3Oo5IG5RxzJzIWau9qSqmMp1pQWEQq2H5UN3r+AyLSWV7KxVkQGsZEj7KReZJbJxvrQaH8iutggPsNdzWwC5wMZWYe6pjxXJ/YHWdag+ixgcGUCTBFB3yy4nehlvQ+zW2WjiRHaIIdqi/5r3Bhs1yW1+2UppfJh5YENAzmKlYD3Wof1wPAINS8zZ5/JwpePcRGIXy+IlY6SWF1KUsktOlQWJzV2lBhzIN64gHs4kIq2cybfXTBg25EVqZhf8prR2xCSmgDA2m47R+T+9gwa1TWk+st+Jt4W0xr9hWu+nXbOCVeViyD3twNW4vJHpMKufdpinwFGtdAYYrQToRzsgDaeXd4Ylb3Z2vnh+DjEQ5apUSJ2qp7jwGQ5XZ9EZOu70CTZfvSFCB+803wNWk0fbSiWSFvQ+PT64RG7Qor4UXqqnztn5qJteq/NvBI1YRyoGy3NE6bZiIWSl7QX/lnkaeQX+xqNoS7Cyq2WkhBEh5Q3XlpKCrI/RSbApUc0tc8Uh4R/pE96gqC/3cE/NvthpjX4XYSEdWrrg== 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, 27 Feb 2025 22:34:51 +0800 ying chen wrote: Hi Ying, I hope you are having a great day! I wanted to share a few thoughts: Previously, when the system is under a lot of memory pressure and is facing OOMs, global reclaim can create space for the system and prevent going out of memory by swapping, even when swappiness is 0. If this patch removes that check, it would mean that global reclaim can no longer "bypass" the swappiness == 0 condition. I am also CCing Johannes, who is the original author of this section [1], who clarified in the patch that swappiness == 0 has different meanings for global reclaim and memory cgroup reclaim. > When we use zram as swap disks, global reclaim may cause the memory in some > cgroups with memory.swappiness set to 0 to be swapped into zram. This memory > won't be swapped back immediately after the free memory increases. Instead, > it will continue to occupy the zram space, which may result in no available > zram space for the cgroups with swapping enabled. Therefore, I think that IMHO, I think that even with zram, we would still want to allow the system to reclaim memory & swap out, in case we are facing imminent OOMs. Even if the memory isn't immediately swapped back in when we are able to manage the memory spike and see free memory, I imagine that we might not even be able to manage the spike if we prevent global reclaim from swapping. These are just some thoughts that I had about the patch. However, my understanding of zram and reclaim is limited; please feel free to correct me if you see anything that I am not understanding correctly. Thank you for your time, have a great day! Joshua [1] https://lore.kernel.org/linux-mm/1355767957-4913-4-git-send-email-hannes@cmpxchg.org/ > when the vm.swappiness is set to 0, global reclaim should also refrain > from memory swapping, just like these cgroups. > > Signed-off-by: yc1082463 > --- > mm/vmscan.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index c767d71c43d7..bdbb0fc03412 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2426,14 +2426,7 @@ static void get_scan_count(struct lruvec > *lruvec, struct scan_control *sc, > goto out; > } > > - /* > - * Global reclaim will swap to prevent OOM even with no > - * swappiness, but memcg users want to use this knob to > - * disable swapping for individual groups completely when > - * using the memory controller's swap limit feature would be > - * too expensive. > - */ > - if (cgroup_reclaim(sc) && !swappiness) { > + if (!swappiness) { > scan_balance = SCAN_FILE; > goto out; > } > -- > 2.34.1 Sent using hkml (https://github.com/sjp38/hackermail)