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 7DABFC77B73 for ; Tue, 30 May 2023 23:57:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0753C6B0072; Tue, 30 May 2023 19:57:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0251F6B0074; Tue, 30 May 2023 19:57:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E56AB900002; Tue, 30 May 2023 19:57:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D7A2C6B0072 for ; Tue, 30 May 2023 19:57:29 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id AC9F21C71B6 for ; Tue, 30 May 2023 23:57:29 +0000 (UTC) X-FDA: 80848585818.18.2DBC587 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by imf12.hostedemail.com (Postfix) with ESMTP id D5AD740011 for ; Tue, 30 May 2023 23:57:27 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=ZvOASTbh; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685491048; 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=irawpEcShcOFbqSfMe4v0NPnVegXzVzVnWF9D2giD9s=; b=e0FletnBR1SjS3eZHw1qjE/93GZ/u7pXxUPGX/BCbaR3AesXeuz2dpI2TPvZlmdwErhGIh MA4jqdRVled+Lijwk14YiwlXgg0jAXllt9vrlBViZWafhfRxPOCKcHBw4LoiLnIggMKSYP T6b7cXE77wAoyAfxqbglYURE9yudVXE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=ZvOASTbh; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685491048; a=rsa-sha256; cv=none; b=uvTMlUbl+OrwQBvR7gwctYxaHA4es783thxbKh9+RAJRACvgePxdP3KlL4eGQgf5M9K2Nx 6VbOqYVGTi2x9yBYa+2/W0ClsVJVaO7EFTxlyXXQ6g5l8O62i970hcmgWCMl1B/uwnEiX4 heLFKl46GkaocfiVY/ivldUdIs3c1Uk= Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-97392066d04so771630766b.3 for ; Tue, 30 May 2023 16:57:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1685491046; x=1688083046; 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=irawpEcShcOFbqSfMe4v0NPnVegXzVzVnWF9D2giD9s=; b=ZvOASTbhIvwRaFys7hANyH9bpyOx4YlDxiR8GHKD9SYbZTnff95bSM5c/KQXM2H1pB pdiI1/rqdWnEcFR/zez/MU+STTlT2voj4r3xaA/2uf94J++3dpoeBOT8ohLoxHNOGpSR otxvghneVjyn7Z2raNtS0ED12iioF8OOiGRiBvP00Q9PiwRizM88FBSmgJKXQGKHQQk7 5reQmZ2oSmkYPCdI6on2I8Q1xpl0JB85hFySWjdhm+cooc1a2LLBWQ6ZkLSqaCyZT/Rg lgstxpduGP8MkEuqC+k9ezpN1jNnTUkfutoGUcQosE5KBo/xYRaOIOVpm79mYKlCi17v pryA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685491046; x=1688083046; 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=irawpEcShcOFbqSfMe4v0NPnVegXzVzVnWF9D2giD9s=; b=k/Q20wVYrRBM64HYr9O20CgrC0xX1irgQfCK2XTMTkja5E8NPks186ir/S1q3Aq0Rp EWPqk8TkBpHm2J9j7g0B8I8oNH5V60UCUtlechBfxHrVzjpXfQ35z1CYLjjrGBCILFoo 5dhg9+YHs5C9xvz9uBI+j7V3F1VuhGIlNiS8wu0oZ54Sw94nz8VYwaFJ20TEQoGLExKj B8VzmBPUXAhRZbOdeBk6QhH5Jr9A2S5OGJfvND/8cPlvz8CVcFAT11cRzKWUmAFQDDrw ynxmzwlBgVqUkhxZRbGsUh8U3ajOYUS+vfunUDEGxHa4RKaXffNcTNNZovyXYxO5R7pT MuGA== X-Gm-Message-State: AC+VfDzl9UFCiwR30fTz+Ogz6IUbblEYBUgKwW8rDRtnqNR6QMXlGxaW kMVgmocQAo3mYQB2ggztxQd/feItzDlia7Mwd8Xr2A== X-Google-Smtp-Source: ACHHUZ5wnBhENC6jyjk3XZkH/KXC4TGcgeaoMvOQcTB4XFx9dIsl7trBs2gAsHt5pOI61mA0Cdl9EGAL2kelSq7e0BQ= X-Received: by 2002:a17:907:16a3:b0:96a:f688:db6e with SMTP id hc35-20020a17090716a300b0096af688db6emr4385611ejc.74.1685491046241; Tue, 30 May 2023 16:57:26 -0700 (PDT) MIME-Version: 1.0 References: <20230530210251.493194-1-yosryahmed@google.com> <20230530235447.GB102494@cmpxchg.org> In-Reply-To: <20230530235447.GB102494@cmpxchg.org> From: Yosry Ahmed Date: Tue, 30 May 2023 16:56:49 -0700 Message-ID: Subject: Re: [PATCH] mm: zswap: support exclusive loads To: Johannes Weiner Cc: Konrad Rzeszutek Wilk , Andrew Morton , Seth Jennings , Dan Streetman , Vitaly Wool , Nhat Pham , Domenico Cerasuolo , Yu Zhao , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D5AD740011 X-Stat-Signature: h6spiud988g9f7adr1carbyodszsww4m X-HE-Tag: 1685491047-522708 X-HE-Meta: U2FsdGVkX186AkGakCAFxpSniMLZsSphLhEKsBofUgly8h/EoNMKws6ONZwWOhUyspbW6JEnYGrSGmDsg9jLxOIJXG1fBk91C1JySF3RElNxDbNC7ao5O5f9buBVLeEgs4d/mQXokXBXvNhxxT5LQl4uUuSGccNblfi8tM4R0oytj98e9F/NRPhNtO06nCNhk0C4eNax+OmYkYZHjvVojkHk7Vw8h6Zjyr5n+CmuGnXcAqbZKIffL4S0fSheYrJLwOYa0AmuMZeYEQRUtXMKtOR3ynhKWdSZY4C4+ZN6aDHCWOTzvA/qrd/B11cphoJ273mP7cBedji5jQS+dSIQV9J/opLDZCIIay9Fg1CGH9tvgcLpr0NRrnsDhp+dqs5OJhbcTDpOg4gHUY0J2XCgDpIkbK3DaEa79E3qTyz5z+Xhcp1Apb4Q7ks7Zd7QtckEkaOWrdjj5QIrkT947OC9/b0vi0YDDGWzOCXzBiR1GGPB6Qzl8GQsUOnRsF3WO++guMwLJV1ypA7XM/glKBuu/wXRyfpbV2dPrFOp26GkUEUDcFAPGiMtUhYyOG0GiZivXpQungH0BuewK61TwwX7hswrwdHwrlBII5KrBV63Hpxu5ytFyvl8B2n3uEoPye8nrucQ64HSmZsWKR2k7hsS0JHRZLeeI/vWHz+K2vU9EwTHAuuIBxb1fLqSe3FYtgmwOYzC52A66yu4WfoGqfn9+0Cij3Cyjx/DvDAu+tJrPggd7QulZU6mct12xe5i4mWMpej36lNf9wS6L0OwZF9pL2IYoIcm3ZVHYYZEAUPLitvGzk81XfRqqmzREf6KsAENqMfwTtB93lXKy1PDooLtNQvVdxSGGi0J1YjCs3ja7O+DSCCqlXq6FA8rjYlcO4kj/3/4qTubiuvb6QtuxBRz/wG1rBDu44ZdHMoRqixJTAqCm6dui1PBuyz91/Uh2b5ymIKk4S13ZUc56YT51TT gke3FcH0 3FIJ/MGCFuhSnCf9VW3fAJd2dlR1VWXj2srdN11k0gBNLlZPgPfFnpgxe06LBDG4W2Okw77+zT0fw7FbqnxwMAPiTPmjpNaqAt3yAHyVrGpW4XgFiqVMMzRJO2kcPPRJmcmaha5QjdyON/TrBqBBdZbB5Y/6KAsV34P0fY2St8coWfhMClYSCf2yuCdgQH4b4LcOHg1eZaPbdpd0qFCjRoEGQgiHc4G4wBh4Lrc/KgawxerM7JUqgetrcIDh/MTg/C4swKV0XxYyQMij0edMRtmI+nLvLx1GkVdeH 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, May 30, 2023 at 4:54=E2=80=AFPM Johannes Weiner wrote: > > On Tue, May 30, 2023 at 09:02:51PM +0000, Yosry Ahmed wrote: > > @@ -216,8 +216,13 @@ int __frontswap_load(struct page *page) > > > > /* Try loading from each implementation, until one succeeds. */ > > ret =3D frontswap_ops->load(type, offset, page); > > - if (ret =3D=3D 0) > > + if (ret =3D=3D 0) { > > inc_frontswap_loads(); > > + if (frontswap_ops->exclusive_loads) { > > + SetPageDirty(page); > > + __frontswap_clear(sis, offset); > > + } > > Somewhat tangential, but is there still a point to the frontswap > layer? It seems usecases other than zswap have never materialized, at > least not in tree. Life would be a lot easier if we were to just > hardcode the zswap callbacks in the swap functions. > > It's not the patch's fault, but it highlights the boiler plate the > indirection causes. ->load() already has the page and could just dirty > it directly. Instead now both layers have to handle invalidation, > which is a vector for bugs. > > Can somebody think of reasons to keep it? If not, I'd take a stab at > removing it. I was intending to eventually remove it as part of the swap abstraction proposal I am working on, but this will take some time. If you want to remove it now, even better :)