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 CDDC7CDB46E for ; Thu, 12 Oct 2023 14:22:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47C278D012D; Thu, 12 Oct 2023 10:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 42AF28D0002; Thu, 12 Oct 2023 10:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31A798D012D; Thu, 12 Oct 2023 10:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 22E188D0002 for ; Thu, 12 Oct 2023 10:22:08 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E41DA4065D for ; Thu, 12 Oct 2023 14:22:07 +0000 (UTC) X-FDA: 81337023894.22.A5D517F Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) by imf04.hostedemail.com (Postfix) with ESMTP id D8F534002E for ; Thu, 12 Oct 2023 14:22:05 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=ebqJNpso; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf04.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 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=1697120526; 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=7BE2R8PIkyHRd4gL99LO+dIQVqA8MQjkYJ3iaAbvj+E=; b=rs0fViNIiFCEVx1JMDCWUjrihWyuQAKTSwX8D2LVd2D6feLcheHWVMoFu9CvFcYs3OSpcK lBA8lOusPbN7b/LW6WvqcHko/GbMC1hQr96lx9HppbZS0VxrU9MstBSJaYpXXqKtKUU2dA SMMgGATJr1Lptb8dac578KFwWRUSTMU= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=ebqJNpso; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf04.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697120526; a=rsa-sha256; cv=none; b=Wh4JjqVS9SPDo4cPtsfb7JIYTlViJqxBtpvC3MaoXZq5oCKmOwH9sCnj1oSMF6ytnN2RDh V1lcfRm9Z0f8EHsCJr/XdSABejt52LdupTZ0ZVogdEQ7Fs+EktTViaGvtVff090FpsEY88 4ei48sPAMuCWQIfK6nsa07bve4p4o80= Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-65b0e623189so5428716d6.1 for ; Thu, 12 Oct 2023 07:22:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1697120525; x=1697725325; 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=7BE2R8PIkyHRd4gL99LO+dIQVqA8MQjkYJ3iaAbvj+E=; b=ebqJNpso0p/NDAgFVlwI1XbUskxjSPXbDRGgXkdmLo6guoQf43KNW7od5/yJ8+XXBU S846LGZApHZE87yY6/FvmJEsTKP5jk0IuGszovmImWhGlYGvwtXVLb0ECLDRyQCQPTXq UXYj5B6bzGU9wCj+MVqQRyoal280YwoLflWWWQs/F/zOnoGoLVKb7RyceReuK1nde7i4 +zTk0cqnQpfbx/60lZ7yF1qlrCKy/vMGpF3aeFfl6agwIhLp9rcIbJMuRLJTRFAxQ239 cqVSsoI0Fv/iMHeZx0w2vzGykxlSpogYNCmRlFj43y3liobfjob5TGEcoYSyRD2O0AEB JpFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697120525; x=1697725325; 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=7BE2R8PIkyHRd4gL99LO+dIQVqA8MQjkYJ3iaAbvj+E=; b=cnQ/2v8l/nfwbwtPPTi1ZE+e2sMcVejAk3VXSh/VkFMC/qk4oNWuILGxDrE8hBnwtl fEW16Pi/jFTGifSjevY9QC3xhMstcmzY5m1oilnhyOmtNVGctOZZ5XJmp/JGk0+LD10T 6m/KhTu6TtJM1e5EdDi4MHcsisFKwAU3DFrgHnd3VdYTmEZSrgs5tyP33LqvSOKQnky2 yrlfjgKtscbwBIpauHMZjyHP75KjK6b29jZgAUA3YyLWvJ5+f962hnCxxS9yDt8C19f7 J7UE7oUV9Ducm7+pWMtEALG8f5GT5AzmCnmqZiJIGII76WKKqkjKTktGMF3wtmNgmMpU jRTA== X-Gm-Message-State: AOJu0YwYqjGoJcInJKJSdhbU3HmwQtucQNFwOupsEYWNoP262NLzODrT YCRIqindfidYO980dU3XCfzebQ== X-Google-Smtp-Source: AGHT+IF8WXQQjj03Qgtha678waoUBFdOS2UgdJY4pIJn8t2ryLggunLaBPasQU/FB2X4h9VDQYiU3A== X-Received: by 2002:a05:6214:300e:b0:66d:12e0:2555 with SMTP id ke14-20020a056214300e00b0066d12e02555mr3239901qvb.33.1697120524914; Thu, 12 Oct 2023 07:22:04 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:66a6]) by smtp.gmail.com with ESMTPSA id jy20-20020a0562142b5400b0065d05c8bb5dsm464815qvb.64.2023.10.12.07.22.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Oct 2023 07:22:04 -0700 (PDT) Date: Thu, 12 Oct 2023 10:22:03 -0400 From: Johannes Weiner To: =?utf-8?B?6LS65Lit5Z2k?= Cc: Nhat Pham , akpm@linux-foundation.org, yosryahmed@google.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [External] Re: [RFC PATCH] zswap: add writeback_time_threshold interface to shrink zswap pool Message-ID: <20231012142203.GB470544@cmpxchg.org> References: <20231011051117.2289518-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: D8F534002E X-Stat-Signature: yn76mopcxmw1x867moqzmcpc1dqra4ic X-Rspam-User: X-HE-Tag: 1697120525-67454 X-HE-Meta: U2FsdGVkX18gl7y/N9IXf4kt82dXfROjBACL79jyzBn6vFCncwd0Uo8KDw3Mx7cwSGmbEsHQneL2UMFsWTvpiWexYaYnW3IWq0FvbXkIqZ/HnT0Oa4wkGZ7J4oGYm3UDp0kqeubEAiiMSVcFDIRs1GeWc+nE50OhhFMwiFvoYx2IwlT8aRHAbxCl3/mKolJI9naDPqiTK+77Z5zBhbFDeDUU2RPGS8+zUp9Qpi78YQZHDNH2TY9LDihGsyOEhBtKP8sNSaba7Y0qpUFxR3COEK/ynuY1oZgqR0j6B1T4BNgs7gzojo8uduvvHos+1XsCf5/Uaehrz4z86OJM2pc7KWwoxdKPAUgTmVJUzEwDVYs+K/03+Bv7qbQ0KIJz96pPqxyQqSQQV1RJPLcqNktMD4C2f7t/ie+Euatg0NcudafgTmq3FRpU5P5gkg862OpHBdoDi7IzFX0NeGOcdO3vPdM/VNPNtywi0qJosCoywUIInw2Htb/jlmeJrYSMw3oCdBOfDawj62Xm+aATHT4NKH3COqHzzzLx2ZzfvnnSkNPKCNiLLzBlyQOWwdvB2WEvKedjOvMBCDLf9YeGKgoXzM8VZDtVwCJk5sTCIHoE9H36p3anA6RvIAa0a92Z3OuzcAPvh2t8O3nAa9R+n6yD/sIlmrlPKqenTKInFUW68adJvxqj+CpWrwXaSvMjH87FIkDisrYHGx4NrLbOlhTC+ruzdwPp/+9fQSnbkMZjCVoUGnbvXI9wVjRSpQjJB9agJ2BjKvVh5734rhG24UQEyEy0ZJivosDZRL+Fnf5MLgyrwYkx5J3mnGomTGs11Oyt3uRzbDgccd6CDQ7I4AFO63AXqVFYste7q+T5XtdnVbI1WlP1cH9juOvhRgqLfCDM111XhFSFjoqumRQC7GgV27oOSGx1lbaKvnw7BlAJFPXbHkDamarh31fNqDx5w0d4YLVA9j4RbhKECAmqogN yvgnxPXs b9X61NQ8oCLzDss5NP6Xaj+Xk7AutySUEPPIxqysbStfIust8+50TWijG+ng+x3OkL31kG98GW9waqnkOungoOqd0sshLiT0ekfc98XrgQ5DXLnA8oe0PeUcyCNHwAtdtWrV2TKxddHLj9iIj4d8JpBHMwOg+PDaoInOCC+5n/CFm+pa9zvLnKWXmYnTObb1kJumA+QuDZfPTLB/UsoBev03F1KMVHmvJeML1MYhHtvYwVbq4H+GGj7iCQcNPZYDer+4h1e4xOk76xywDlIpOSb2/eHCwM+NOGzMtz9zvn8gI+a+oTwOoPDl77ajin73aBvY140azhXYCZSY7Bs+/qi7VMC5jwt/FN2XwVLFTGGBh1pcn1LvBX6TjNi8hh8tMpXKaSEF31ecmsvOSKLLBsRh9DMRauM0A0/sAfXVRwK55jCFkZ26P8PJbOWPH/OA/I6/x2Aq+IPddEJBgUoZqK/daao0tOzCENyYAnk7O1ymI/ktDU3g3ihCyfFuN7p+b0y6ChZPov5cfMTWbfJIv0NVrOgcM47mVU2uHbPW2fSiM0Bk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000175, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Oct 12, 2023 at 10:13:16PM +0800, 贺中坤 wrote: > Hi Nhat, thanks for your detailed reply. > > > We're currently trying to solve this exact problem. Our approach is to > > add a shrinker that automatically shrinks the size of the zswap pool: > > > > https://lore.kernel.org/lkml/20230919171447.2712746-1-nphamcs@gmail.com/ > > > > It is triggered on memory-pressure, and can perform reclaim in a > > workload-specific manner. > > > > I'm currently working on v3 of this patch series, but in the meantime, > > could you take a look and see if it will address your issues as well? > > > > Comments and suggestions are always welcome, of course :) > > > > Thanks, I've seen both patches. But we hope to be able to reclaim memory > in advance, regardless of memory pressure, like memory.reclaim in memcg, > so we can offload memory in different tiers. Can you use memory.reclaim itself for that? With Nhat's shrinker, it should move the whole pipeline (LRU -> zswap -> swap). > Thanks for your review,we should update the store time when it was loaded. > But it confused me, there are two copies of the same page in memory > (compressed and uncompressed) after faulting in a page from zswap if > 'zswap_exclusive_loads_enabled' was disabled. I didn't notice any difference > when turning that option on or off because the frontswap_ops has been removed > and there is no frontswap_map anymore. Sorry, am I missing something? In many instances, swapins already free the swap slot through the generic swap code (see should_try_to_free_swap()). It matters for shared pages, or for swapcaching read-only data when swap isn't full - it could be that isn't the case in your tests.