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 902C3CF9C5B for ; Tue, 24 Sep 2024 00:21:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D05B66B007B; Mon, 23 Sep 2024 20:21:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CB5136B0083; Mon, 23 Sep 2024 20:21:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7CDA6B0085; Mon, 23 Sep 2024 20:21:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9BE236B007B for ; Mon, 23 Sep 2024 20:21:39 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 00E1D161541 for ; Tue, 24 Sep 2024 00:21:38 +0000 (UTC) X-FDA: 82597728318.25.5CEAEA2 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf14.hostedemail.com (Postfix) with ESMTP id 2D1EE100008 for ; Tue, 24 Sep 2024 00:21:36 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MgYMPhFR; spf=pass (imf14.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 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=1727137179; 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=Au0uzoSbH2ElJzaMeNmhVwvwewgLeaPK4IrgkIjA0rA=; b=GIJaX6iSN7PvCge4pnvh4EW+TfH6fn/OTga4X7SWjWpaWvNpG5gAyV61A6375tvycb6fhT ETMugDekIdiS0r4s8iYK1xeU/RQ6xAW7ltYbsGN6pRdK07epoVa9tpm/KCIXNfyuBNYrvs R0t6BbRDFvgu7H1ylU2yemLpxYb1Cmc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727137179; a=rsa-sha256; cv=none; b=dJHr/agFDPH1VVhYJ1Cc0FOhrRkHTLOL2biQumqF1izBjqZAv5MgSvxaFAwcQdX9BMCUsO GayTpe+X0BYKp7qZt2Ik2e1+gtISu5Kc4lijLyO+MG3kOqFa1uI7Bc+p8/ytGdPKGiP+OK mSpj4UDt5edAbsG6ItFqriz3gPz06DU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MgYMPhFR; spf=pass (imf14.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a8d24f98215so661655666b.1 for ; Mon, 23 Sep 2024 17:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1727137296; x=1727742096; darn=kvack.org; 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=Au0uzoSbH2ElJzaMeNmhVwvwewgLeaPK4IrgkIjA0rA=; b=MgYMPhFRlkkHlYoCYf59gCG2ikuSex8xlglIJRWIxzsdRzBguu7jKxwyYtWAVwuSzT YthqeBRUScZBWSOgcJUe68h1L4hBJO8ls3nNUssRyb61/aPU8oyCGsEDakgqtvkXpefV y81k2DV0yBwklxZUwsMJaWlmLSg31zu/yG4ETVpQKrwUNxEZ7HJX2TCFsP+q9MhyqJny rxAzhfyS65kWi5osu4w8v2xAWUWaL+ZMo7DLCb4IDc4V6m5fc2BUdtLoZtKy/uHwvvZb xmALlI+vuv2BYC4nUxGA7i219PyIDkRLcZ4T0ocrU8sfp3STJdn9ylCRKhA+pUMWOvvW mTbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727137296; x=1727742096; 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=Au0uzoSbH2ElJzaMeNmhVwvwewgLeaPK4IrgkIjA0rA=; b=YLhN4JSbbznR85xWJujwp+iYokKDyaCzwwqzRTQfxkgTv0l78ro9Jv4Zm11lhqDsvz PVUf9i1MdgQVwpC1mWbaFhgWiDAolYvlSseVtfB5quVFXt+Jgd9eMFX4xtKim5jYEVDz CKe1ZRytiUmXBV0iXAXWFNeIyPCKsZxySSYmxtN8QySXasDrHNzpPtqU+MyzwZubVkO1 22aJOSc4gL/EiNbc2K67v9d+r4O1dKXw7bxTUa/h4EgGQrb3gMqsHKf/XFYC9kxI90tL evBv9c5JeyJyODDVg0NBEWK3DKF3rjv2u+yaeKtRemg+ZVL8q/WavPMC+1JBxwV8sDxb cnVQ== X-Forwarded-Encrypted: i=1; AJvYcCX8x/HuMyYSlX8zqIwApRscjtOCk+jA7S2dLmJwrsYargZPBBK4G0TCBSKPVe7nEPJCwSx0EpqMFw==@kvack.org X-Gm-Message-State: AOJu0YyrUVNRFOi9yVslHt+9XpXTlLCgvZ7+RZuFEZ3VVqp0Bqy+f0Gq pvH0nKzBWYmz4VtsAYhMsADcKeFZioJE/LteCV+N3f69jnmS0goI3hYixPC/2fTvfymjk48wZrN MU+fzJzJsQqm7zqpQX+9kqFezY4VXLgp1VvFt X-Google-Smtp-Source: AGHT+IE5iLzSstIhHpa898vVT2SsIC0B/KYygGCt0eGc0G0jTBqYSwXADuL3GomFoCiTYr/rjIhxtbaxkzyqEgn0jq8= X-Received: by 2002:a17:907:e612:b0:a8d:3e29:a82d with SMTP id a640c23a62f3a-a90d5000fa9mr1132574166b.37.1727137295406; Mon, 23 Sep 2024 17:21:35 -0700 (PDT) MIME-Version: 1.0 References: <20240923231142.4155415-1-nphamcs@gmail.com> In-Reply-To: <20240923231142.4155415-1-nphamcs@gmail.com> From: Yosry Ahmed Date: Mon, 23 Sep 2024 17:20:58 -0700 Message-ID: Subject: Re: [RFC PATCH 0/2] remove SWAP_MAP_SHMEM To: Nhat Pham Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, hughd@google.com, shakeel.butt@linux.dev, ryan.roberts@arm.com, ying.huang@intel.com, chrisl@kernel.org, david@redhat.com, kasong@tencent.com, willy@infradead.org, viro@zeniv.linux.org.uk, baohua@kernel.org, chengming.zhou@linux.dev, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 2D1EE100008 X-Stat-Signature: ffx963kgbi6s7g87j7asssqe6k9omjzs X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1727137296-410929 X-HE-Meta: U2FsdGVkX18dmPP7lXPJUbjqBOkKvZo2PxewavrrVvddIIhueuFY82tmK50X5e1BzkEZCbEbl+UlQW0ahoSR1YlRTwGoTfZJ7+sGCcdOmUQaC3I0V0duwJPfhIVti6gnkBUQCh3YSA9ijiMAPs0Q07FOtkUILyC/U8HHXngi8D6Z9XNasPJKVhDSbNInIC9t0KZwZKEmw021+AuIFS91VGLvTHkaTBnOmlC094ytpSUSZzRn/BwUWVoakWIOy9ARGJhwmJWdWrW37rLpe8tR20C9GwIi0LUMEL5Yr2tijzLKyqzXY0Mjmy3xsgWbXN1wxeoz8GEclgPQar6VWsryFsVarq8EyPcGXamuxSCTqJQdUhocpgusg4Y1V1KFhyAAf6KXsvXCUoNRNm+8kSZwayoh5shxlT7Xy7VFftqw9MHR9ngjUEni1ftJd8H5NKSTE/j9YJFNl5kTknydYCt69TnhU6QEIhqyrxbWiIcb4PFgWho+HhmjAiJRysQXZDoFc3oEKs962ZAqQnL4aQkD7pSZdAoG3sUFyc56cu813NaDohn/2E6LYmLE/N6+4Om4osJikzsB4qUaVh8Ur/wgO1DpJoPFk5+b6OIWErETfpsyjC/xHwFqHFpyNaR/ueJe1vGj6SOF1zf/qa7XMR6cEFpHA2VT6H6S5hdTDr9SYuflES8Gn6IydWmkgWxcumc2vdH94FFXIMh9tikOga3ZlKNdjY4qbw9jCJeC/hT+hQLAii89ty7YxgpakuVoLHE+VZ8MdRHll84vZdywF3Z2R09elGMZt9bhfUCKh4c3kUDAoEDjcDVo3GNu51TWu4hnSI4/n+zHGJ30oIQ0LVhCE5k58pQF52tQ5pks0bGOV0z0EX7ocI4FWaYKLAtRDytthw6fqa7aoCCbuwkb7cTzj8lxUf3cKsX2HGOwy0bq6zGRgVpfWanMxN6x5tb7tcaN3ZgtpVhf1ORGof3TJG7 FFHbjkai supSzbXpvk750WZisKyBBUJqLPEzynoB2mQ5u0sjV11q7FL+AFVqasRRMIHOcIVSR0vdQXwCBm0jwOQqlN4at2dEh3ZzRv5z0ys80CK/qn6a5oxHTUo2V5CEg56IVHIK/5G4QITcvngcGegC245G9l4eog4sv27gz0jM5tOYyjkg6M/xAYdseiWj8dhOGcRxSBJjqY9iEBSMgNB0Am7ioLWkLhWtya3z0EqEP1ud/NugcsPtHPD0djoYiCMk9XdBv703/6LkbjVwv+imm0mNJEK1efqaA4wUqtp26 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: On Mon, Sep 23, 2024 at 4:11=E2=80=AFPM Nhat Pham wrote= : > > The SWAP_MAP_SHMEM state was originally introduced in the commit > aaa468653b4a ("swap_info: note SWAP_MAP_SHMEM"), to quickly determine if = a > swap entry belongs to shmem during swapoff. > > However, swapoff has since been rewritten drastically in the commit > b56a2d8af914 ("mm: rid swapoff of quadratic complexity"). Now > having swap count =3D=3D SWAP_MAP_SHMEM value is basically the same as ha= ving > swap count =3D=3D 1, and swap_shmem_alloc() behaves analogously to > swap_duplicate() > > This RFC proposes the removal of this state and the associated helper to > simplify the state machine (both mentally and code-wise). We will also > have an extra state/special value that can be repurposed (for swap entrie= s > that never gets re-duplicated). > > Another motivation (albeit a bit premature at the moment) is the new swap > abstraction I am currently working on, that would allow for swap/zswap > decoupling, swapoff optimization, etc. The fewer states and swap API > functions there are, the simpler the conversion will be. > > I am sending this series first as an RFC, just in case I missed something > or misunderstood this state, or if someone has a swap optimization in min= d > for shmem that would require this special state. I have the same patch sitting in a tree somewhere from when I tried working on swap abstraction, except then swap_shmem_alloc() did not take a 'nr' argument so I did not need swap_duplicate_nr(). I was going to send it out with other swap code cleanups I had, but I ended up deciding to do nothing. So for what it's worth I think this is correct: Reviewed-by: Yosry Ahmed > > Swap experts, let me know if I'm mistaken :) Otherwise if there is no > objection I will resend this patch series again for merging. > > Nhat Pham (2): > swapfile: add a batched variant for swap_duplicate() > swap: shmem: remove SWAP_MAP_SHMEM > > include/linux/swap.h | 16 ++++++++-------- > mm/shmem.c | 2 +- > mm/swapfile.c | 28 +++++++++------------------- > 3 files changed, 18 insertions(+), 28 deletions(-) > > > base-commit: acfabf7e197f7a5bedf4749dac1f39551417b049 > -- > 2.43.5