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 16A21C41535 for ; Tue, 19 Dec 2023 23:33:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D0E38D0006; Tue, 19 Dec 2023 18:33:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2817B8D0002; Tue, 19 Dec 2023 18:33:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 120EE8D0006; Tue, 19 Dec 2023 18:33:44 -0500 (EST) 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 F22338D0002 for ; Tue, 19 Dec 2023 18:33:43 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C63001C124A for ; Tue, 19 Dec 2023 23:33:43 +0000 (UTC) X-FDA: 81585172326.15.BC8D992 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id E58F1C001F for ; Tue, 19 Dec 2023 23:33:41 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Eb6Xc77V; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703028822; 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=E1ZfPi63AJOjvsmk9ijkAw44RJb76yeMr8m2sSY9lwM=; b=KEKjd4g/CHxAzVyb1XHJC9rI+/YJMK1GHWJOTLG77Wf4Ozi1KChrzhsbtjgYqOSyO1Lyes 9qSGSy5dE8XdedXs7rcPQLkXa9uPYUtARp4eR86rCIlvL/Qe3zE8Tg5VGD9NqjiOFJ5Dzy oQUyveH2yFaLkYASQs2+K7QC3jX+lvc= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Eb6Xc77V; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703028822; a=rsa-sha256; cv=none; b=z2a0UyKIJ+DMVTKknRgIY2+Q1mQkntPQoO5bZuNQc0FNO/xKWcn1IAehJbU4KM1XcR02DJ U+eHxj3j7AIYgmMQWZxwQX4L2xUO8r5hoXUGIdMZQvnT6xNVbeagiGfpSvA9pRfOnnSALh oP0nQTJiaWFRi4ell93vnnFz3nL/b4I= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D24E2614A8 for ; Tue, 19 Dec 2023 23:33:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D9E1C433CA for ; Tue, 19 Dec 2023 23:33:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1703028820; bh=YikHJNY6Xyl1KsptlwY/6FCi9bk4JHLVYa3jzibwyio=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Eb6Xc77VKh5nGrjsIFh7L0k74o1OH3+CggRFAGdPUoLEg12SWQqxgF/88GfTzUfQy s5BZto742tnlpAZyPNiG03fH5CZF8Y19YtlVCy9cHDh7e+DWHVZ/gTyyqiXlRqEoC5 LD2vsrFJqWqc48DoaL67VR/dd7wu7gBuxElWZ5Y1eLCq/f0zz64+bQKUWoFz930Gz/ IvLv0PYj5tq5rVLmfND9tuHA0zXPg6CQgpCViiEVS9ovGGEPfGdJ2cEjxh48aVLQu5 uakOXaJflKl5ELtpizop623O2tEWI92YnToEFItTbYbJ/Y6YVfbNKsmfCXrYNJSmDn bBOsNpmalVJQw== Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-28bc7155755so497069a91.2 for ; Tue, 19 Dec 2023 15:33:40 -0800 (PST) X-Gm-Message-State: AOJu0Yz6I/lUi/aZUml2S/EpY/ao9YqJQHNbgvbKN5jHwEF5FlwG8Kn2 KenGkRWMnJ1T7ZHim5PoS/VJsN6P+RssANGbyvc+kw== X-Google-Smtp-Source: AGHT+IHS4nqFg9k9bAES9QBJu+B5coLgo8U2gKNwYQigIgOo6RCR61txnmqdaoBOGESziUtNZyA88x/0S84dcmykFzc= X-Received: by 2002:a17:90b:1d0b:b0:28b:5c89:b378 with SMTP id on11-20020a17090b1d0b00b0028b5c89b378mr2648663pjb.12.1703028819864; Tue, 19 Dec 2023 15:33:39 -0800 (PST) MIME-Version: 1.0 References: <20231213-zswap-dstmem-v3-0-4eac09b94ece@bytedance.com> <20231213-zswap-dstmem-v3-6-4eac09b94ece@bytedance.com> In-Reply-To: From: Chris Li Date: Tue, 19 Dec 2023 15:33:28 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 6/6] mm/zswap: directly use percpu mutex and buffer in load/store To: Yosry Ahmed Cc: Nhat Pham , Chengming Zhou , Seth Jennings , Vitaly Wool , Dan Streetman , Johannes Weiner , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: umbf8oid4aneamzitypysa1knpfgtyrg X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E58F1C001F X-HE-Tag: 1703028821-990580 X-HE-Meta: U2FsdGVkX19P4dtKPiKDB9+p6+hMjHMoLh91Z0VKf4ueXO1RG3JMOFdQJYjSwZ185xseyf/nW3cgY8LkukDKVzcOeGoDoWIhiTkfdDUijOMAqf6buYMr7Z1cmhzebfBQmJblZeuQGKTar2JTOb+d/7+D2cDhzFLaZFKknSIrmw45JF3m2Mb9T1Gpuujy6JQIS0peQwGI8rP7BbD6tVA5ZZagSVww77wkjCumnykVmhDPvS70dfHiyYUoBbopzLnCY9o7L9qsp5MyX2gRKackXx31viulEkEQXAqZ2VIqNIYRUgqHIN/NvnmbRWpcIOtKmzqLKayF4DWSgkOijUOx33FwVulljzjvBNUny9RAnGV/ACZCciG1TAS6Yr2morrb5g3B8QEdt0e76eQijvyoilaU7Gi2mMeotWRbbjUcslLL/9f7+9Pc7aqnuVf+wG9UyLtYn8LcKH3TKWkHuiPkHTO55Vd5ioSi8RfgN0dhdG0t8JIBRVr2kqdFlcEIrsnyGZ1bWhORNBiLL9sdZA+NBcukZOXEiseOdw+KWw84wAUdDp9zEp9yv7jRvoZXRhTRGDKuww6SwZDecfovlRdRTqqAKwMm8aKUZFACdIqIHLfsCe/JGAzA3MPh+C6Cq7oInG+hPigBtXtpbsOuh3kcX3BbjYDtBc7hxDHBE3gPCj44edz6V2ipGYSxuxPbjK7XvNck39x4phJOZ+5Lf9pZ6UfhuReqk+eMTuYiiMOlVtywfwkUO8YV1mStAtf261HY1k0CjoH9gAW9O7qUlDJ9+M2NC/AoyoQPpfZVshX+LBnff6TbXE972phduYLva9gWX+Y4m2GCzrf21yoernxCZinOawxxwCsiRg5trNOen0ELHfjqKbE47Ahwq9uV/824Ng8paUn1mP2khEtYEQwxGB1GVtvXcAPDW4tRTHoOrVb7G+atRYAiW61eFZiD/zvl6hE0ep2qulJPKqP6Vmw uY+2BFHw 9YJSTG2BdAi1gv0jX06a020ZZkyfcrIhHLse16XRlSTpmyqE/N6/CIcRZHpTVRNTlK2vnXSGJR+7Owr54XMv3xnHqVkhIkvBOzDlWuFnI4bcIqSMXV7d4L4VidAiHMWpL7quwuDEvsK3PzSfARQolH2V1ga9+duMoXGRV0sTFJCcrIVDv9NQLWeiV0Igmirn3SfdbrWMNAXLCrOewGa7WhLom4q1DLqUsi1rxWXbeDjZEybrq6GBdPTDRmw== 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: Hi Yosry, On Tue, Dec 19, 2023 at 3:05=E2=80=AFPM Yosry Ahmed = wrote: > > The compression and decompression requires the buffer and mutex. The > > mutex is not used other than compress and decompress, right? > > In my mind, they are fine staying in the struct. I am not sure adding > > an level acomp_ctx provides anything. It makes access structure > > members deeper. > > > > If you care about separating out the crypto acomp, how about just > > remove acomp_ctx and make it an anonymous structure. > > struct zswap_comp_ctx { > > struct /* cryto acomp context */ { > > struct crypto_acomp *acomp; > > struct acomp_req *req; > > struct crypto_wait wait; > > }; > > u8 *dstmem; > > struct mutex *mutex; > > }; > > I prefer naming the internal struct, but I am fine with an anonymous > struct as well. I just think it's a semantically sound separation. Ack. > > > > > Then we remove other per_cpu_load as well. > > > > I also think the original struct name is fine, we don't need to change > > the struct name. > > The original struct name makes it seems like the data in the struct is > only used for the crypto acomp API, which is not the case. The mutex and buffer are used associated with the crypto acomp API that is why I think it is fine to stay within the struct as well. Using the anonymous struct to separate it out is marginally better. I think we are in agreement here. Chris