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 D91A1C76196 for ; Tue, 28 Mar 2023 21:31:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B2D86B0074; Tue, 28 Mar 2023 17:31:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 461AE6B0075; Tue, 28 Mar 2023 17:31:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3296F900002; Tue, 28 Mar 2023 17:31:12 -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 202996B0074 for ; Tue, 28 Mar 2023 17:31:12 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EBCF0C0A20 for ; Tue, 28 Mar 2023 21:31:11 +0000 (UTC) X-FDA: 80619602742.02.2D6A4CD Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf08.hostedemail.com (Postfix) with ESMTP id 9A3FF160005 for ; Tue, 28 Mar 2023 21:31:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="YW/p9rTS"; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.41 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=1680039069; 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=z3CvN025X6yD0NknHTGwzuOIM1w5AHEQTvCZ3/4cuIc=; b=YXwuO2skrpen3A0TEHDYHr4jeglQjpJMC9L//HV8p5sLQ4ZBXy+ePA5LBmvHu96DKWIn1W 4DuJXYJA0kdkI5VXytNJT/ApcKyWCkS1vBoDh29zUKVQurgaegDGOKhUhokluztpe+H5yW V/cmQ8MXzwFW+KN1OmY65j829jvZDQM= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="YW/p9rTS"; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.41 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=1680039069; a=rsa-sha256; cv=none; b=OGbmQiq1M1+zW2cJMZEgcqsGj8ellFcZ8Kb8OmDgnHMQQ+bPCI4wG8uDjdzQ+IH+VE69pR BsmDF0UWJZTV4hhjDNiB0Gtyau+f2ZAlQYFus3jPxI3ZbhN++4R8WSuONd6MEroW7+G31D tGggWC1vjmjeO9cjfYENBMTL4l9+8lw= Received: by mail-ed1-f41.google.com with SMTP id w9so55351286edc.3 for ; Tue, 28 Mar 2023 14:31:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680039068; 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=z3CvN025X6yD0NknHTGwzuOIM1w5AHEQTvCZ3/4cuIc=; b=YW/p9rTSnbOyhSQKBorva13mqatnSSYf7S/dsICXonGJLlirel+kCp/DWjS/dsZ/2A 8mWJb+bFP1iz3Q/vaCPnzwzDzQAsBMoN1kCjW89eUfb1NOQISJWpzn3uGUKA93pGngmK 5tRfbgycs5yqeNEG5wsMJ2RfC86LJMMnkRn+/+VAYoJcdKqQGZlQGWmp95laHMicDcdC i/rS6IvPHFwyuzQNbnAahNdYEOEi3RYdU7QjQ3nDMRX0gAkXTJNjKN53oEzOKO9/+dnS Q6LD2E0wclkLiSqCKsLp/vCvJ2LsJp+EvJEKv6qnCTNHNjYHG46dKuqAJTLSCeyng/hG rbdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680039068; 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=z3CvN025X6yD0NknHTGwzuOIM1w5AHEQTvCZ3/4cuIc=; b=L/1pppJAEkIXnpPeWrSwIjGCFrr21TTOSAWeKBtXGc+miUaSaOGduphwTORTfphUQP nrR6/z9E43FTnxmDN5t2959oqaObKUzhmtBG6b2+WEK4nnagCKE5Mor1sL3nLsQT0rN7 IXseB18NlStenlgN8MlBYiSbXEzA8dBwpopmdWPWVUQU8o5M/pfAe+2ycLIBCRD1QkkD 58bxTEOkA9BPfpg+DJwjcWHHlHQMh8F/xwWfP08W2EnZlfJsOH+uMikh+4ly3Q6m968n GGYVcQdfrJ6UimalYBJuS+Rp5xFqfvPGd/GBM6bdGNBlkzo7MGoiNoZafUD1GZpOSntN qRkQ== X-Gm-Message-State: AAQBX9dN0f81Ke8HufRdmZQpvRfzGwMnE8JaYW6DP2bg89xcrXH6QusR OFsuvjcYILLEYKvAbhflyKC8T4Tq6fQ+Wu+JpBl4nA== X-Google-Smtp-Source: AKy350ZLMTp1+7wrTlIh+QQXH9vMMRzB23mbsrYcQieged7+nto2sOp75qYfHGqBAWl5MFiDpCX8XknwzTfYb6gOC2k= X-Received: by 2002:a17:906:c217:b0:935:3085:303b with SMTP id d23-20020a170906c21700b009353085303bmr7738500ejz.15.1680039068000; Tue, 28 Mar 2023 14:31:08 -0700 (PDT) MIME-Version: 1.0 References: <87edpbq96g.fsf@yhuang6-desk2.ccr.corp.intel.com> <87jzz1pfb3.fsf@yhuang6-desk2.ccr.corp.intel.com> <87fs9ppdhz.fsf@yhuang6-desk2.ccr.corp.intel.com> In-Reply-To: From: Yosry Ahmed Date: Tue, 28 Mar 2023 14:30:31 -0700 Message-ID: Subject: Re: [LSF/MM/BPF TOPIC] Swap Abstraction / Native Zswap To: Chris Li Cc: Johannes Weiner , "Huang, Ying" , lsf-pc@lists.linux-foundation.org, Linux-MM , Michal Hocko , Shakeel Butt , David Rientjes , Hugh Dickins , Seth Jennings , Dan Streetman , Vitaly Wool , Yang Shi , Peter Xu , Minchan Kim , Andrew Morton , Aneesh Kumar K V , Michal Hocko , Wei Xu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 9A3FF160005 X-Rspam-User: X-Stat-Signature: oyyozrjehmcknhgbkb13aozyt8r66iph X-HE-Tag: 1680039069-629382 X-HE-Meta: U2FsdGVkX1+N/RDcon3FDIJFM6kLirDhrWrrOPFJgQ1nP6lT4K98F3+2KaNLf1Sa/P2vdpwABxo7Ch6ZL0s6LdWr8TyTESCJv5uyCRg8SQg1yya1OqWPBo54mRjGUxGzsgolvOOpwB8OiIemTPWZKgpnnd6MhaqGJOf4SviaXHcFAQ8UVtPYIHLy7JFBs/QWGXbFuOkXCVUBOImUyC6SbFsy7Zrk/xsnS76jyrWeaYWV19VueRkdhk7Qexl1lSa5mdxuGL62ygR3nIJxhVJH3GOhEzJkhqewAPHV23yCRFF2FxCHJcuwDkjIaMuYYig6y+ONgPVtDrW+LJyV/32omxN3uCtLhUtvtNYciSRoj/7ncV/ny7CuKVP7UFj0J8/da7X8t6TJH42IkM3VB+0iz5SzI3DkFLtd4csQary7Xd77SdjV/W7NVxemn437+jTMYSELZVWJitKB0n20Itspq4BGC54tSne9QZzLyih4/J9qlZAkg+KQ7tSukUwUNY1Cl4vC3gN/Fenz2ALsgriVX4eUFqck8D4y5iPERIx/b09msn8efJhxTYFcktkgZBCOxc/cwqMogwPZ2uJELDdCgPbxblq2qNJzmkh55O0HvMvTKMwdMoJys8brjaWm00qwJexbcPCFno+hFgC9vEYt5lvxF3SntC6K17spyVJc6YGUjvwp2Ojp1gvW6GOguSBQaJHNlkjx4HiIXggU6YOj2zUZrn7jGCeG9qLSWaNE1no4zY8+d5lPmU+wdp3OMpajF8iQTchwlYaNP89iolPYLRRy84TQUUx0GmxzMwlhq4MzDOsnk5xnle9SC6Gm9VdIgGfutK6Uw2ZWgwNV3r2bOMsF+wL1QfV4JOjejsHvFgbNUbLMu3kHN+u95R3DrrvwkzahdxPy0IDItX+stBN7WJWabc4trlnMTL3bfNmTX6xZEwigizfrRSREdCfIaWiATfZJNG3WyF380SHRbtC L3Vtvp+6 4jLlpq28B3N8KN3BSPvZ5no9gTz4fCBa8WHxEv6j1EmGldv1ToSDiXTyKvkDdHYzL0euXyeHxN6L7Hj97Qemq8xG8aEoCqjBdgSU0Ur7n3EnwPNW9VSWHs0zOjvIJvBTlgmbZhhKpGUvAhWvJ/XzjAJddGo7qsvG2fQpYzt3Dy2njiVfsvt5PFg4LfzHd2mY2lOJ4an0LgvubeMAOTAlyUk15kw2GkI6JNkUBvRUEoQTsxw4C+B7CIOwepF2mx6UGo+LhLlPxdtjP0lnXY1qZAy3TwsTL7+lV6a0xtqfjFJWFvIw= 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 Tue, Mar 28, 2023 at 2:22=E2=80=AFPM Chris Li wrote: > > On Tue, Mar 28, 2023 at 12:59:55PM -0700, Yosry Ahmed wrote: > > > So it wouldn't be my first preference. But it sounds workable. > > > > If we settle on this as a first step, perhaps to avoid any ABI changes > > Turn on zswap without a real swapfile is user space visible change. > Some small change is unavoidable, ABI or not. Yes, but to support the ghost swapfile use case we have to make swapon support files with holes and/or 0-block length -- which is a bigger change user-visible change and also includes a change to the swapon utility. > > > we can have the kernel create a virtual swap device for zswap if it is > > enabled, without userspace interfering or having to do swapon on a > > sparse swapfile like we do today with ghost swapfiles at Google. We > > can then implement indirection logic that only supports moving pages > > between swap devices -- and perhaps only restrict it to only support > > the virtual zswap swap device as a top tier initially. > > One more things to consider is that, Google use more than one ghost > swapfiles for zswap due to scalability. There might be scalability > implication if there can be only one zswap device. Yes, but I believe this can be (and should be) handled within the kernel. We can find the sources of scalability problems with a single swapfile and mitigate them. I suspect the tree lock in zswap is one of them. The swap cache lock might be another one, but the swap cache is already partitioned within each swapfile to address that. > > Chris > >