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 018B1C4167B for ; Thu, 7 Dec 2023 19:27:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79A796B0071; Thu, 7 Dec 2023 14:27:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 74A186B0072; Thu, 7 Dec 2023 14:27:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 639DE6B0085; Thu, 7 Dec 2023 14:27:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 553E06B0071 for ; Thu, 7 Dec 2023 14:27:43 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2DEF7140233 for ; Thu, 7 Dec 2023 19:27:43 +0000 (UTC) X-FDA: 81541006806.23.775966B Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf15.hostedemail.com (Postfix) with ESMTP id 3650CA0006 for ; Thu, 7 Dec 2023 19:27:40 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=07Mh6qKX; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.52 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=1701977261; 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=4E9EjufK+QQ1AdYRrvjoO8aPYSHXzTiO3F6OND42SLI=; b=Tu4jKtzFFanRvfKQsvIwMiStJTfMxIZGtRKrqNVFQ3QocX0UFPHB6bif8FCjuE/yHcPtlW i2UeC75ZvpR+VVF3wIsT5FVlxR/WvY9WsYiAldU/vxgShaIrhAs4RcTZP8K822QJ3bp8qm XJwg/VoZIZNBD5udNmhwNiMBexzpeeQ= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=07Mh6qKX; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.52 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=1701977261; a=rsa-sha256; cv=none; b=Xnbpl/05Qu00hsVXXe6LNUn9Qwl3dnMhGPxvAbET28sWyJ4rM8MxaCCzVXWqK6ovpfylyQ SANqMOqA07T5HzYjIzBQt7XMIhj7TFC92ZCHCsC5puNHXeYjnh3353oDnsDbz2hvKew5Qq p6JukPfo6lC8ytJ5JpUHArSvG9O6gc4= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a1f47f91fc0so95375666b.0 for ; Thu, 07 Dec 2023 11:27:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701977260; x=1702582060; 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=4E9EjufK+QQ1AdYRrvjoO8aPYSHXzTiO3F6OND42SLI=; b=07Mh6qKXy/cSfZIygorpUJOnDiCeMiUXwtVKRgJE82yU1PuQoJvQSuPQajmFqC4Vry q2vAVG90W5J3RLyu1b3Ti7gjmJINY4NIbl5fJrCDK6DQ23LynuAZcs5b67cIMZgrx6Fs kfoVnkiSAGce+bF4qiOAFPhQlZR0ov6rgKLr4kVBqHgzC3tgpL6UT3jbCON5TPfDBJ3v f8OYeYxh6dPFgUmtmSemj6jSs4PPppo1zSyNSPTDPLdrMIXnxVuCbZ1TgYBPNsmguEoH jS2CMYQl6pK1XJZIZcjR3OLfckTLuiqhrW2I0FbaIDzMIzbwd7InBvxEBoQRx/XxmmN4 kC+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701977260; x=1702582060; 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=4E9EjufK+QQ1AdYRrvjoO8aPYSHXzTiO3F6OND42SLI=; b=YJVx93oZDZE/Xz0+f5Z0ToGHC2S/CRuPJbg+e3um+jvRJSBp8nLyd+xY92IH0V8/ZW vgsqcizgyxgeO159+wyyE43vhir+ZWLtnqSOIZt2NBgYO/VfTUUMnsNBSnv4vztfUbna NjFfFdpDnIqUpQZW06yqeNU1j79dGFBOEOuiecuYvKIYH/0cQkiKKxfZI3IOzr6kOshW Qv+p43sLT6RFoqAdORwTNPAE7GBPjx1eNONk7Oh0FjmdcjlYMfBK4T7QE10GcFto1i+6 ZZng/tp/keTvozUnJNPvHgJarxoWBl73qrcMsJ2APl37EJV3IWt0Q6iV7XnWa1ZPNG+Y 31Jw== X-Gm-Message-State: AOJu0YxQhnRTNg6at7/KM4vIN28R4LcgzioDEjQqlQ7thi4ukLZzSX5V f1hys+rSVE/o0rA/ymRjAf17GDcNIvKxsB9lVqRbYg== X-Google-Smtp-Source: AGHT+IHH1zFYufSwyQB8U9rgrIC4sq0GB6WXoJ/zmhJTj49HFlZA7bY4ykSDj9Wui1XOBR/5t/KfodLOglwZxfBCqQ8= X-Received: by 2002:a17:906:4717:b0:a19:a19b:5604 with SMTP id y23-20020a170906471700b00a19a19b5604mr1751313ejq.148.1701977259361; Thu, 07 Dec 2023 11:27:39 -0800 (PST) MIME-Version: 1.0 References: <20231207192406.3809579-1-nphamcs@gmail.com> In-Reply-To: <20231207192406.3809579-1-nphamcs@gmail.com> From: Yosry Ahmed Date: Thu, 7 Dec 2023 11:26:58 -0800 Message-ID: Subject: Re: [PATCH v6] zswap: memcontrol: implement zswap writeback disabling To: Nhat Pham Cc: akpm@linux-foundation.org, tj@kernel.org, lizefan.x@bytedance.com, hannes@cmpxchg.org, cerasuolodomenico@gmail.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, hughd@google.com, corbet@lwn.net, konrad.wilk@oracle.com, senozhatsky@chromium.org, rppt@kernel.org, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, david@ixit.cz, chrisl@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 3650CA0006 X-Rspam-User: X-Stat-Signature: 9hq3wxa3bnfg5shmwifbx4m6or9amh4j X-Rspamd-Server: rspam01 X-HE-Tag: 1701977260-771517 X-HE-Meta: U2FsdGVkX1/2P8AB1WvmWc7qApzzIYq066Ibdu/SNLBb5LYS50UHpTfbfWzsJYSk1KwYXMWPlM5Xs5epVuXYXLqZ1aI/aCNBN+CrukNoXlCLdwtPT6ft7lahwWDRINEx5MG5sZDAL6/TfVLB+YWfzsf/t8aKhfVjQJXKmi1RN2Uj5va1bwRjSTupRoqR+3GRVr9R7sp5RltUeysVfuTdt3c01k/enOSNdr/bX/dy95fUYmJtWEKtdKTz0Ff9KLIX1yfrZq9Tj64fA/tt2vxX6AE15p13j+F6yHZSCrAdGl+NCzAXsKIcL3/XTc7wGTChcfOxbLrqmnr0RDFmJEzjYl1+uZuzCDpquDf+f9t+k+9UJmrep0S92ckMSf+my/zE5z8iCu45T0Ujfft5mF90Lr8oH5lLjgOxZaXwy9taCOLID+TKSg9N1fDVQTMvBRion3N7mpBmRKs9Om59vMd6Ec4WnaKPw6y8SqY2OZTEwR6YyEKUDcfJtxpfE7t6rB6Rj/WjsiQLpDcd0KDPMZetsXWNqdC/eK4VMr7/BhRS83vgz1niBa8i3NOwpbr/5nr02F62QboZfHUyny/b1eLZFgYdnB4LsYTdxCBNiH63o76pv3VOwxGFHG6vZNhfAW4UFI69L5HnyUMpWIRJNTIrQmcVEOvV7iVBwjfaYopUyzSNhIuoixgKcgFwF/9h/awbIlEjAuou+LpONMu8aSw6Yo8BRNWUuXpymtZ5MCCrMa2txFK6d6N3xCnJTUDCZ+HJqw5MO8ZONIVu8EeWm0+iXVszkWdRdHwfdd8Rut/Pb/iEEuHH9JDHUEDrVLPON1WiK5PlrrWy7MnA5EM2REoIlRvpfBKJhtnROKP6jQiAB3nSHb9sZXeH/lJnawiJJLkE3/WmuV13lB/glud8K43C6zUNvGqxWNx/NllgZWP11Lcj5tnsxDXQm0a0e/56qYSSxzP/H12VCUQpwKME3v/ QhcewvAA WsRWjSxlO45v4sTpXS9AaMSwS+5u4n9vqWfYG3GHBeUADq6fjVt9Tz+vm/mfUBasr14DXgFhjQEm7L5aJCaOJXTE23CZv5qMfyzRBkIFzg9Az4w1vTcXCHv41itz1lTWWKpkPVV1nIH/po7iXMsFRu4VHb4saegigWb4cbPVGYe0sL0vRUBPxuQoSerTfjim+Dpl1ZjEXkTFjsERw1mKLi+rDecHWuX/KhyamzATPDjBjWcKhVNf0/G/BfrCKGa3hhjO/lhVLtV5N95CMLOtN/FCGUmw7gWrwtamo63juIjpVwLN8jy4NjEkHVXuzCqPPe2AaICRB/NrdHktZ7Ugq9iuA42wmSyvJr5uuCNGbtHoPKMgAqYruXbFeMoVGYBlFpQAIsGM0OavHZyn0Ga8/SXwPW8Q1rn7AGYxw 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, Dec 7, 2023 at 11:24=E2=80=AFAM Nhat Pham wrote= : > > During our experiment with zswap, we sometimes observe swap IOs due to > occasional zswap store failures and writebacks-to-swap. These swapping > IOs prevent many users who cannot tolerate swapping from adopting zswap > to save memory and improve performance where possible. > > This patch adds the option to disable this behavior entirely: do not > writeback to backing swapping device when a zswap store attempt fail, > and do not write pages in the zswap pool back to the backing swap > device (both when the pool is full, and when the new zswap shrinker is > called). > > This new behavior can be opted-in/out on a per-cgroup basis via a new > cgroup file. By default, writebacks to swap device is enabled, which is > the previous behavior. Initially, writeback is enabled for the root > cgroup, and a newly created cgroup will inherit the current setting of > its parent. > > Note that this is subtly different from setting memory.swap.max to 0, as > it still allows for pages to be stored in the zswap pool (which itself > consumes swap space in its current form). > > This patch should be applied on top of the zswap shrinker series: > > https://lore.kernel.org/linux-mm/20231130194023.4102148-1-nphamcs@gmail.c= om/ > > as it also disables the zswap shrinker, a major source of zswap > writebacks. > > Suggested-by: Johannes Weiner > Signed-off-by: Nhat Pham > Reviewed-by: Yosry Ahmed FTR I still prefer a more generic and future-proof interface (e.g. memory.swap.tiers), but I am not opposed to this. It will just be annoying to have different interfaces with overlapping functionalities in the future if/when the need for a generic interface arises.