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 350FCC77B7A for ; Wed, 7 Jun 2023 20:42:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7ABD36B0072; Wed, 7 Jun 2023 16:42:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 75BF96B0074; Wed, 7 Jun 2023 16:42:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64A6D8E0001; Wed, 7 Jun 2023 16:42:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 54F446B0072 for ; Wed, 7 Jun 2023 16:42:07 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1EC46405BA for ; Wed, 7 Jun 2023 20:42:07 +0000 (UTC) X-FDA: 80877123894.10.4F1CAB8 Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) by imf07.hostedemail.com (Postfix) with ESMTP id 1C88640018 for ; Wed, 7 Jun 2023 20:42:04 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20221208.gappssmtp.com header.s=20221208 header.b=EKIEXuK2; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.177 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686170525; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Ey2UbSSD6HTyAcLv0AY9dZrdKeIxvviru1wMGbVrakw=; b=iAuLut2Kis4En4vmCOZhxGFb4iXw93tjDl5pZZ11TgdlI8eQrnNXKz70BKjW4lfSLtE0xo GIsON0+WFQNq+IPr/4WGal994eC1CdzCvgGqS89JDAOg946N8pvYe7kmhcHt/o8g9SvP2z pprbg11fbQvp1t/VLk/dtlklhj2jSxY= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20221208.gappssmtp.com header.s=20221208 header.b=EKIEXuK2; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.177 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686170525; a=rsa-sha256; cv=none; b=xiZZpFepivMlkZmaDfxBj1ObQW5ltrH+VizWIRYwYbLNT8Fl2sC1SMcsyG/Kl1Z7bCxau1 tuxo3AFVwHUHY4p1w/tqKUNpvtvq+F03JITUANOczdl22c+Qdbp//kbV4oySjCl+1BTD0F srEW5Am3z/fyhLk4cd3KIbinHMcYtaM= Received: by mail-oi1-f177.google.com with SMTP id 5614622812f47-39a4eb67c5fso5048364b6e.0 for ; Wed, 07 Jun 2023 13:42:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20221208.gappssmtp.com; s=20221208; t=1686170524; x=1688762524; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Ey2UbSSD6HTyAcLv0AY9dZrdKeIxvviru1wMGbVrakw=; b=EKIEXuK2HrV9b4GAc1FYFt4tWgHbIo7g00IploG7pvcsvEOkFUq4x2eyu2xxVDZGdp tEN8uS9uKtAdTnG62EARyZXGYoT1sw8c1Vn9rX0fpPBpJMokbvEjdT7IPHWLqxNvPfzB FYNUGFj6kVYM4KFbzc/7j5R79Fo7Xr+PL86x7R5F72hUQ/B7Q+AM9b6UdQrsJi9zwJ2h khIahuABzHZ1fcJzs5G90o5gx2Js6/wwKNXNlZaC9KWoJXrpejE3zLFZ5Vp4EyDTqui+ njy60L3rayqzL3wlrYwdfBDXI1EEgou0vd5Ha0USb6Z9hzucwKz3eJTEe3aewCTbDFpK 4ciA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686170524; x=1688762524; h=in-reply-to: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=Ey2UbSSD6HTyAcLv0AY9dZrdKeIxvviru1wMGbVrakw=; b=EeOPpE9UCP6ZSOJUE1G7/27tIyPpF5xX1HKdWGA4kB/jgD7kztDgdbRfqreLwEhZaZ Rjh+mTXRx9BL0oxPfZQnIUAqtnyWL2T/d0tmNyNJY298q5wOilY9p2yo1CUoyCdSrQmM ebXQtdMOByhg/7NC9dajQUyt6kIdzTChr2ZPRZpiYBmjBguuwpOk6dZ+cjWj04ZW+2BK rVku3q+mXwUB9xEWEexE+PAORlkdtOxztfNdEpzuj/Sp59T/bcOyFHfNqyrZjtpvMTXN +/WwBISk4XzAITqrhOcEB8PbNKDs38PyqHuJTybCMqPV9ePQnzwfQxgi88lx0havolgD iKHQ== X-Gm-Message-State: AC+VfDyd2/K6vQ75k+zR9u2asRiWYl6aIfIt/TwXZNMg/b+7osUB9zsL LZVe70zu9Ib9OObokYOfv8ljpA== X-Google-Smtp-Source: ACHHUZ7tyBX1YABuNMr3eSV/hjYc4tx0HBZ69XRt/8jg+wqfrzncg8SUpl96we2j2nzyZBvLyC4DGw== X-Received: by 2002:a05:6808:105:b0:399:b0ee:de1 with SMTP id b5-20020a056808010500b00399b0ee0de1mr3769072oie.49.1686170523986; Wed, 07 Jun 2023 13:42:03 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-8f57-5681-ccd3-4a2e.res6.spectrum.com. [2603:7000:c01:2716:8f57:5681:ccd3:4a2e]) by smtp.gmail.com with ESMTPSA id d8-20020a0cdb08000000b0062621e3b511sm173635qvk.74.2023.06.07.13.42.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 13:42:02 -0700 (PDT) Date: Wed, 7 Jun 2023 16:42:02 -0400 From: Johannes Weiner To: Andrew Morton Cc: Yosry Ahmed , Nhat Pham , cerasuolodomenico@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, kernel-team@meta.com Subject: Re: [PATCH] zswap: do not shrink when memory.zswap.max is 0 Message-ID: <20230607204202.GA340728@cmpxchg.org> References: <20230530162153.836565-1-nphamcs@gmail.com> <20230607120939.c1256fac4bb4e081811c02da@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230607120939.c1256fac4bb4e081811c02da@linux-foundation.org> X-Rspamd-Queue-Id: 1C88640018 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: rb9untetepkyed1gbn8uc64nkgceopig X-HE-Tag: 1686170524-475014 X-HE-Meta: U2FsdGVkX1/QCh21YwnsrZOhTR2IzvBzakWMVRX8SUPbiirZ7/OD+a8Wx49AhJF4icmHYw6sKrqPoXDth1cIPI8OLd1ZMvKEryXAq7UWhV4XIOU3Bk+QJfHifVtWmagicyD26IKGCoYTVEU/k4TiUhZvaQhDrDMdSwcueefiNWz5lJmvSDwO4+cTlYKJxcDWp0AI/LIW+wYA//OoN/JpRP/9ke+lAyntId28RP2C2kbZsOOOepuy/B/U7zGhOULqRPDOr2oSjCxEPKj1bpCzssdmDM9O8fDxyeC/KnnFbaP5pwEq+lBAB6F+/g2xQrjDl51O615b1bS4yGb0bNZWYJFL6Km8acdfZ3TGOtoJMv/ELoUaoYiJxQUQEfelvXlf+5QVEfRKbIIyQ4eY9I3+L4YvehgEgt1zV7lLPtBjrlvrkPzGbmNps2o4TySnOqrAqE/KL+ugTyo4szThpRldAABS2xZg9/6fRm2pfuXlk1ZOjv0tp4Nz2DchcSwc2yDCyqJmlaJsez169/DXj3ROfmTjV/+UJeqSD80WWkfV62k4BLbsVv8XNHqmg6/KUGFEm4l1giuGQ355SBwajdSNvMMtn+Me+vI9RFN7ApHEmgTrFi8eI7rTU60TBWzeYy5c9bNAoW6w11JmraKphPnuRn7PKE9NfapjvFGAmNEdDAqB1tBKjb0GIYBDkYN1taurNDnnPGOI+E85UkTCLTQ/iVGCzLkvoJE/yPj982zhlY1hdWkcfN5MRg964e/WuCY3rtud+75i292gBsWieS25ABSf+mCe4VzzzRJd8UlaT0orenTMKbU5E/FejLWKsE+T47hJxDlz6q4evb/8Voj4ZL3AAPZpFHBywQGdusvukQ6gng1GBNWQAHCqacO98WMF8AUIQKNR8bjdPSadBMhvsXVHGHb5243/eaBr0Kry5ojmtMmQX6G9pAKYUIwuHHhjpe6FoWuxWiHpPOu2BD1 40PeB9Y9 VX0VKF4TOdm2JgsjPmufTg5W+HXf/drK08DtpjQHn+f673MuiPaGyB45JAXiVUMMxcfFafNtdpDlK9m5NWL41CgYsG7Cg4Ja0kyyVn7Vfb1P+/1ZtHiGdLLwwN2UM00vsnz4iVGAJ+owzFD2uWwauJn2Aqcpw4KlGZSnYlV3fmfpk87c3zX8el7y06Nsi+DdiW0syNc9Z03XMc2BmSC2Hq25UCEgOYNBQHxjlZmEo3ODePYSFEa+0843FeG3PcU9pqVKgK55giKD5Rnt8/A+CDw9tacLKiJ6L8eIifwmZqTlE3FSBQXQF4rFLhMV9Y0RldC+jSZzFP1eszfIvPoqW8JEwFwbMtePdyZ/A4aD5lYo7u1tOi17SuUTKjA8/EkpGpgeE8ztGwLnnjOsq/Kv1ZE+z1FpJrkd4ACcLAGSLOtZdFvWzK9DC86FExqi+Lu6MqxvApe1KyS/DFleyEBerx1FFRj9cAXi31IJDYCry6Gv0a20wpT/B4SyxnotyLrGTBcmN1zyTglPKTwbLYZc6pUCgFgwvnr6a4d20oMLgvW4Gq1zvGd0aNbRkfUw8v24lMNqnJuZLRfNb91QKoo2C9+/QYSlLZsKvDFg4fY5cmLefMy/reI6S3UNV2Q4JabjV2y7bN7BTOZsEo0GW1L96UiUMxJWhvVvsP+LG3On/1keoPKaHxQTkz+A7Lu9rolkFR6ZrpfGN05OYKqPTpFftdKBsGsH/ACjdFs2p 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: On Wed, Jun 07, 2023 at 12:09:39PM -0700, Andrew Morton wrote: > It's unclear (to me) whether we should proceed with this. Thoughts, please? > > Here's what I presently have in mm-hotfixes-unstable: > > > From: Nhat Pham > Subject: zswap: do not shrink if cgroup may not zswap > Date: Tue, 30 May 2023 15:24:40 -0700 > > Before storing a page, zswap first checks if the number of stored pages > exceeds the limit specified by memory.zswap.max, for each cgroup in the > hierarchy. If this limit is reached or exceeded, then zswap shrinking is > triggered and short-circuits the store attempt. > > However, since the zswap's LRU is not memcg-aware, this can create the > following pathological behavior: the cgroup whose zswap limit is 0 will > evict pages from other cgroups continually, without lowering its own zswap > usage. This means the shrinking will continue until the need for swap > ceases or the pool becomes empty. > > As a result of this, we observe a disproportionate amount of zswap > writeback and a perpetually small zswap pool in our experiments, even > though the pool limit is never hit. > > More generally, a cgroup might unnecessarily evict pages from other > cgroups before we drive the memcg back below its limit. > > This patch fixes the issue by rejecting zswap store attempt without > shrinking the pool when obj_cgroup_may_zswap() returns false. > > [akpm@linux-foundation.org: fix return of unintialized value] > [akpm@linux-foundation.org: s/ENOSPC/ENOMEM/] > Link: https://lkml.kernel.org/r/20230530222440.2777700-1-nphamcs@gmail.com > Link: https://lkml.kernel.org/r/20230530232435.3097106-1-nphamcs@gmail.com > Fixes: f4840ccfca25 ("zswap: memcg accounting") > Signed-off-by: Nhat Pham > Cc: Dan Streetman > Cc: Domenico Cerasuolo > Cc: Johannes Weiner > Cc: Seth Jennings > Cc: Vitaly Wool > Cc: Yosry Ahmed > Cc: > Signed-off-by: Andrew Morton Acked-by: Johannes Weiner