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 0B262C4332F for ; Thu, 2 Nov 2023 20:50:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 91AF68D00A7; Thu, 2 Nov 2023 16:50:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8CB108D000F; Thu, 2 Nov 2023 16:50:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7928F8D00A7; Thu, 2 Nov 2023 16:50:27 -0400 (EDT) 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 6B6D38D000F for ; Thu, 2 Nov 2023 16:50:27 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 360BA140DF1 for ; Thu, 2 Nov 2023 20:50:27 +0000 (UTC) X-FDA: 81414207294.16.FA0B368 Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) by imf09.hostedemail.com (Postfix) with ESMTP id EA4AE140010 for ; Thu, 2 Nov 2023 20:50:24 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="oR/MJkOs"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf09.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.172 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=1698958225; 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=QjFA/lTrb2RR2WBQNGAEQ5Fm2mUeP6dfung0rZQmJYs=; b=BD+yPHnvBPaa9aUgC4C/HosZk9/mZg4JVf1gSro99zu8ZOJF5WkhxaemLI7xePqtHgeUV6 qnv8VQ4MDpec9W91whNseFQMhMc8cV2tAFjVlRcyfwpjL8ASgplTBXGART/sgdsbQmS+xX 7Mqvpwsbin8kDbDWDsv5tMo0Iifrtuo= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="oR/MJkOs"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf09.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.172 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698958225; a=rsa-sha256; cv=none; b=tn563ikbkyNKoUrfTbfN13t2fmmCMjeQrh050Qu7sgF4cESGwjIX6KAdMtkncf+BZ5tKPW WphJNKUoHqPFAoHhxUqwom7AnPuM7xPftwln4s25rWv63zjL7g6EdcLil7gGmrWFActfXZ dEP39o7MmEqI5be7lIK36oQPngiP8k4= Received: by mail-qt1-f172.google.com with SMTP id d75a77b69052e-41cc7b67419so7734531cf.2 for ; Thu, 02 Nov 2023 13:50:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1698958224; x=1699563024; 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=QjFA/lTrb2RR2WBQNGAEQ5Fm2mUeP6dfung0rZQmJYs=; b=oR/MJkOsgQkynmnYyL8HDjgTTjFfWarRVMpcaJpS9PR+kXHqTWeRCb1MksI4RcX385 xWXqdZ/2hk6lnxyBqj1xogxuyf8bSCUBMmA7me01b71xtHZndF39bdAxxxH7HDXyVs/7 YbiLnKPxsItLiGpcwppcBoyT5LYQJHfsaFRn2ZuQ0L1LvAsAHjd8wYJyBMK0FwFK8YOJ nuklmVlgfQbX2UgIJ4CL1YL/5zMPpBl0ByQIaCMDjY6HBfwU2cA39WYn6eEHgYJAYnWy X0QmRQDfPNocW48/2m6oZUo5GfC2xH+RaXIOFtMRX9di6xI6rkiabYzer+AuRzSYHFIi A/qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698958224; x=1699563024; 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=QjFA/lTrb2RR2WBQNGAEQ5Fm2mUeP6dfung0rZQmJYs=; b=QPNHo2lcFMTUUQAz5Ik+t85rz1VfY10sknbFNnKv+GTi5SJuP5GexfvFG2DMs5hpFO HEwSRYMBrb+cV5kt156b/mxsL4ILGNFFkyeiUvMMGfoGlQuZpEzEePe59wm7MT2M2GSg 0IoleeM48IpbxPIdDuwPSXF0equ0V7+9owbxi4LZxmwxig+LcVRWl5o6oHp+gHwer09i P21fVWRhFT43DnYtYMWKMgVq9bAK1aBt7jje3xStU0m0HzIj6cRdu/bUpjMfZB8IF5gj 6EvLHDxlFYM69xQE6wZjFJkiqybPgRfwet0emPjFlpdSA+HRs7saeb69IObNDUX6LAo3 7O0g== X-Gm-Message-State: AOJu0YzwZhppOOBUnYSgdeq9LT3V9cMyC4uv56iq1mI+yqBPjS2fi289 3oFdMfCcnOw+7y5J0r89tHhZew== X-Google-Smtp-Source: AGHT+IFGb/8wLOJtBh17J1Qw1Ibq47ILzQfU0jVLsKVmfCSc/2zYsX5gzXbTXKBKj/pIxvWyxCUarQ== X-Received: by 2002:ac8:5cc7:0:b0:403:eb5b:1f6 with SMTP id s7-20020ac85cc7000000b00403eb5b01f6mr23952896qta.63.1698958223887; Thu, 02 Nov 2023 13:50:23 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:68cd]) by smtp.gmail.com with ESMTPSA id jv12-20020a05622aa08c00b0041b016faf7esm76647qtb.58.2023.11.02.13.50.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 13:50:23 -0700 (PDT) Date: Thu, 2 Nov 2023 16:50:22 -0400 From: Johannes Weiner To: Yosry Ahmed Cc: Nhat Pham , akpm@linux-foundation.org, tj@kernel.org, lizefan.x@bytedance.com, 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 Subject: Re: [RFC PATCH v2] zswap: memcontrol: implement zswap writeback disabling Message-ID: <20231102205022.GA3265934@cmpxchg.org> References: <20231102200202.920461-1-nphamcs@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Stat-Signature: 1hfe5pfzbrwhiego9gbe6tqm9deynirg X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: EA4AE140010 X-HE-Tag: 1698958224-721776 X-HE-Meta: U2FsdGVkX1/2h5cAgST+JIcBaQyIIYppp4CaLjKvfqmFkMiSv2/1Bxjsvs4Els3TJNMQvUzuh0NSWF3gTTL5w94fYI9GCssjr6v05rcKcYPZKmIpXv3bo3hySEVThLiJ8ulpNKsEswQGPKliCmKFdpa9NrmoKT57CfylaYUB6gO3F1l9Ww4gnJ8XJnvIVs1Er5hj+rpYpf8LlC3/uYDygQ2q/r8W2akOIUH5FvDLxVJSQhU+jq1vtgrBzHQ/g+GXKITMeCloPMoilpAhXfrWJL3S5L8ieirRzr5ZWGNiaJwORR89uDkyPCu8LL9MODGfVmgvsHYfcyQClYyHLHzcENapMp4MfvAOGy2mDFCHU+RLkyOMItMcb/UfUgULYsmsTz5s1Di5/Ibqed6uWbZ2LuKK7tXOsSajnH4OSrrMNghPw+zetL809c0IkDo6p6RL3MIbh+6Ro5/v1fuHqBF5jeK1uLSrR5WETZBuErI9OXGtvZnMbN+woHEV4wm1/WfUx/u2/VlvZNUMIrbWiJ8qvrbE9q+zUNZYZMr+H+5RPyiSMuNtbj/9GY2fOBMMbICZhyQP5KTGcrwmXtnE+JVhhiLi6RKjU9xGFuo1Cua7x08mmBCJB6wlorJ1fulIQhyfDxeptxkWAyJvArP/Sc2npRUe4bDZO0vRFIhdvzas/1AB1SoaY47iOBCuwctRSNyJou/u2iXenK1xv/UF5K5JGLPQf54E85njze764yzJHH5adYqULuanSn1SeWerQ4vN9n61l4VdgcdCeFF/QefSoTuAWatBffVFa/z5ive9f/1fXg2BeZfiXSxSSgCTZwC2WBUrwRMLfzUZvAiThm3gWMyLLSEuDkoJrY4P98ALPWoRRxLP3g2PDIdJX+lBVcvolOR9zRS/MxOyVS5qXm6e5PHKzd906LhkVtCmIvh2RRg/mZA6XjQiKyticarDwn7+POAGwXu/OW1H7KBvE1v ffFcQPTB T7C6IPLAdulaz2oHiFzv035JFuP+fM5mr+6fjsZ7kdIXFiXotKCd1ssivE6rSrURke4LujMKSP4OxuHs8XxaGPUhpbLhn9teOpPiYStx4bwR97GKBxzFh+zQadVq5ssIVo2YXHyfS2k1X0+WvdB4acRtcJwVEnP1tsrQCx3tmT1kwXrbty/WLdC8ns+TnaFbvUVnj/pZRIjhboVK9jjW4372f/LYn/dt910scX84OFbXje7NTFaqXeNogkf/WqSyNE4rsvC35gwrt830ModStV1Eo9/HrsBrYmDl5RI7rnSNX/dMsVCo7uCR+biCwPZNmnL3MpL/wYU2K7g9eKmQtdCVMItm8tFL3p9G8tuMoqFMPFobhkd2FDN3/A5V5Mv0AiBf978DA2ZDKnaz9+pHUzQrH9uY1746WO9/lX6HxN3jzKzhsrhNxHHTEhRO81YH2z/I+ 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, Nov 02, 2023 at 01:27:24PM -0700, Yosry Ahmed wrote: > On Thu, Nov 2, 2023 at 1:02 PM Nhat Pham wrote: > > @@ -201,6 +201,12 @@ int swap_writepage(struct page *page, struct writeback_control *wbc) > > folio_end_writeback(folio); > > return 0; > > } > > + > > + if (!mem_cgroup_zswap_writeback_enabled(folio_memcg(folio))) { > > + folio_mark_dirty(folio); > > + return AOP_WRITEPAGE_ACTIVATE; > > + } > > + > > I am not a fan of this, because it will disable using disk swap if > "zswap_writeback" is disabled, even if zswap is disabled or the page > was never in zswap. The term zswap_writeback makes no sense here tbh. > > I am still hoping someone else will suggest better semantics, because > honestly I can't think of anything. Perhaps something like > memory.swap.zswap_only or memory.swap.types which accepts a string > (e.g. "zswap"/"all",..). I had suggested the writeback name. My thinking was this: from a user pov, the way zswap is presented and described, is a fast writeback cache that sits on top of swap. It's implemented as this lookaside thing right now, but that's never how it was sold. And frankly, that's not how it's expected to work, either. >From the docs: Zswap is a lightweight compressed cache for swap pages. Zswap evicts pages from compressed cache on an LRU basis to the backing swap device when the compressed pool reaches its size limit. When zswap is enabled, IO to the swap device is expected to come from zswap. Everything else would be a cache failure. There are a few cases now where zswap rejects and bypasses to swap. It's not a stretch to call them accelerated writeback or writethrough. But also, these represent failures and LRU inversions, we're working on fixing them. So from a user POV it's reasonable to say if I have zswap enabled and disable writeback, I don't expect swapfile IO. But yes, if zswap isn't enabled at all, this shouldn't prevent pages from going to swap.