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 62766C43334 for ; Thu, 16 Jun 2022 16:41:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 007616B0072; Thu, 16 Jun 2022 12:41:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF9456B0074; Thu, 16 Jun 2022 12:41:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE80A6B0075; Thu, 16 Jun 2022 12:41:26 -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 D35466B0072 for ; Thu, 16 Jun 2022 12:41:26 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A0F1D611 for ; Thu, 16 Jun 2022 16:41:26 +0000 (UTC) X-FDA: 79584664572.07.9ADF490 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf28.hostedemail.com (Postfix) with ESMTP id 55C46C0095 for ; Thu, 16 Jun 2022 16:41:26 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id c130-20020a1c3588000000b0039c6fd897b4so3117484wma.4 for ; Thu, 16 Jun 2022 09:41:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=IdLWB9y31NRQOgtg4Me91JhaffCmVCbyeBzhTx+Kl8w=; b=W7hgiGmVnd/BeZ1E3lr8XINu0w95CDryP0dNKJTej95x7cEkeOsYeN3vuBhaGb7VaC p/LKKujVHyNE5f6MMUECJde+ajSx3O64K4GbqT7XAW1lYBYsFBDX/nyDH9Lb4jlPvpWq B8fHX2WkosqAROhkaxPjZjpExrskrrse0+vEGg3+6reZU8v2UhJPC6/N4cwai9b+jH0I MO2fcXYF9w+niNp3z1s6NQ0A/I+UJPnc0j9ReYfpDw+tGBEYQDaXtz3TMGUdfbsNZCRp 0R8glv7qPKNEA9Ka5L96748Uvzf0W1i8vFv2bPaYoBL9p2Zlzr37nuj2XvmAraDwBbRc 2iQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=IdLWB9y31NRQOgtg4Me91JhaffCmVCbyeBzhTx+Kl8w=; b=aDuYnsgX3RS9Q5yMz343D7DQpue1i1uXXzUaxw1MAYEW3svju+7YoiuGEFLTiPu7fu eMw1t3FMQTXflKTpnfr+0J/UuXVQ3EoKyPchkLxu3u9XUESQzDrah522KNH4SdlSPYGi x+a129bnfCJgvC6YO9bmhH+Ds47b0F9WcYdQ5uNJCTmDp0UBV/dqDIw5gsqhPAc3vYXJ 4ByhcZ59Dw9yyFkftbNq1p7PXrra6t/+vaTFHbj0zuG1W4ami3CTXFJOfeUo2UFJP4N3 cPutqVqjup/BIJzOZBYwNopB/FrNqzULBR3HkVvi1ok7nc3GWllTVCdZkhfFHZ5AC8E8 12Xg== X-Gm-Message-State: AOAM532IbPbuUu0h2e2cvFlD9sFxCOBK80Dk03elgwFqPfaeWshyXbFY loFIWfR8MmfMlNLtSoJ92nIBsW3TqrSSVCKsQmAmQySD X-Google-Smtp-Source: ABdhPJyQQgVznGtgyWh9uU31z+rcmIAs+xoyY1JgL/mF5MVPrpIhU65+AeJgSk4z/C8+Pf3DzrmwEe8PNmSfuhd3hc8= X-Received: by 2002:a05:600c:348d:b0:39c:652b:5153 with SMTP id a13-20020a05600c348d00b0039c652b5153mr16511556wmq.24.1655397684721; Thu, 16 Jun 2022 09:41:24 -0700 (PDT) MIME-Version: 1.0 From: Yeongjin Kwon Date: Thu, 16 Jun 2022 12:40:58 -0400 Message-ID: Subject: Make zswap same filled pages copy on write To: linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655397686; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=IdLWB9y31NRQOgtg4Me91JhaffCmVCbyeBzhTx+Kl8w=; b=g0T7uwBkxs+2rlmAtTHjCXlJdDqZ71Ac+a2qF0pp4Wuc45N1dVQoVmoUleRPc/HAuj1Q46 Tr/a18s80/s8OLYqDH2evwfio9wdBR7b9dSQ8De0R6uYH5hnrmQdgIGEgrSoi9ifBWSYIP dciYlXteHZ9DXG+4WBJmXyrL48hDs2U= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655397686; a=rsa-sha256; cv=none; b=kdUEylb+2TBasd+YXHtyNFczJTWAsZb3/RnaqD11ZIbydSwGc2utZSFpP1BcgBnMuyg2v0 h5O9mx0k618x5qtMFe2qfN33DU3UtEaSK6zVs/S+c3lF/bLQ0X3mWFHzC6rQiFdMuZRZZ+ VemxzB+1GyQHsW6C5S5PF6ixvaQxj20= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=W7hgiGmV; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of yeongjinkwon@gmail.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=yeongjinkwon@gmail.com Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=W7hgiGmV; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of yeongjinkwon@gmail.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=yeongjinkwon@gmail.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 55C46C0095 X-Stat-Signature: 1axuajb61hhmcrotshiwjssyasoih6sp X-HE-Tag: 1655397686-412555 X-Bogosity: Ham, tests=bogofilter, spamicity=0.011936, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, As I understand it, zswap currently handles same filled pages by storing them uncompressed and then copying them out when they are loaded. A possible alternative could be to have same filled pages that get swapped out mapped to the page stored in zswap as copy on write in the page table, instead of being marked as swapped out. Then reads from the "swapped out" page will just read the underlying page stored in zswap, and the stored page will only be truly loaded/copied out when it is written to. This is similar in concept to the copy on write mechanism the kernel has for forking processes. Would this be worth implementing? I am largely unfamiliar with kernel development. This is just an idea I figured I would mention here. Also please CC responses to me, since I am not subscribed to the mailing list.