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 A40EBC3DA4A for ; Fri, 2 Aug 2024 19:09:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2301D6B007B; Fri, 2 Aug 2024 15:09:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B7D36B00A1; Fri, 2 Aug 2024 15:09:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0315E6B00A2; Fri, 2 Aug 2024 15:09:40 -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 D76416B007B for ; Fri, 2 Aug 2024 15:09:40 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7566E81385 for ; Fri, 2 Aug 2024 19:09:40 +0000 (UTC) X-FDA: 82408244520.22.BC386D3 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf13.hostedemail.com (Postfix) with ESMTP id 8D5FD20018 for ; Fri, 2 Aug 2024 19:09:38 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hq3XfVwP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722625731; a=rsa-sha256; cv=none; b=4KT1iLg2ixqaoD8vaGvs+JAHf2SmrYK+J+SDcd4fNQg88LD1SCHj+vb1z9xTVIUTzg0Ra1 qh9aifhtAcA0+iT5elhStMCOrM5EJmfIIyJ427ncRjMd4KT06IJKQUuaMCHLLilMXd8LtB Jjndv5ibgC9kuH2Ais5mXKD19z6xxUg= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hq3XfVwP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722625731; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JCgArWjWpFDrL4jHS2ovm6vU+UN1u75TOXE4f9e32Mc=; b=N+8o2gEG1EbdlWCAIzShhG7VpVAx+jAC65WyPr1BA18JvDZk1HWwYo/So5E8n1JjLTbVJn 7nOYwdt3Y60u+DCjEUc70npzA1SQzvb7+BaDRWnPrJmMvofoHs+GMHeVS7iwQCbnVYZmE8 aydWCWtiOozMKA56T+DfS0PG6tIVlds= Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1fd78c165eeso74105965ad.2 for ; Fri, 02 Aug 2024 12:09:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722625777; x=1723230577; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=JCgArWjWpFDrL4jHS2ovm6vU+UN1u75TOXE4f9e32Mc=; b=hq3XfVwP13MQB6x5LMuASMOoxGztnU3fPOIVaqo3Cb/gxpzL1rP3pM86nM/ufykS/n il35iYPpovONjVtHSRasFMgCa3USiwGgFf8y6k+LR+EJgJ6x1Knam0ztkycisaJk6m19 moHaD3vqiSdxFggvqj8AE8WoJmXheiQb/W4dQTbRM1WVnvgme1Zjd3Mal5wacOuFgKu5 k0usv/HmDQpfrfoinyOYp7P+sf52I979JRjGwAHprH0nSRWlzbkfGJIpBta17CCprhyG c/F2D4Mj//+zXJmVcqDnheUMThGQBnqfamh7FCeP1jJT2KjLO7v7n0E+qrNDzbbIDocL 7R2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722625777; x=1723230577; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=JCgArWjWpFDrL4jHS2ovm6vU+UN1u75TOXE4f9e32Mc=; b=HbVxbAXBrBN8NkD60459eaLJf1mFv7EE+Jgd3qqkMl2QlnS3iU+Kj/eL75WLFWvT85 Gg2oZdz4ZktYGF4TFUZLMRJmj+q/TCxmyGdbxHPLc7Tye8rNCPGarBLpO8zs2V9SyQuP xiJKHlzNwjs8evGgFh1cUoW4YThoegCG2yfvklQK4FUsJt7FZvtHtUwH4tuE0Ppjnfzq q2MLj3oTmPMQAJqjorUPTn4JR608palVXRlGkoAeqJFmb5pnDWfhZY3poSFNmcEC+u2c 6UBrtWHIYotJLUlY9vMyLXrQTv61MEiN5nYNTIR6RowZQajUrS4/7fPxUeMVoBz2Uvvs lPqA== X-Forwarded-Encrypted: i=1; AJvYcCUFYV1FfMFLM6JtiE9tC0yRBiUSVlqBr+z8/3g8iTfaESLMTa+cWMRvhLfZpukI7ZFDNePG5DES4f1i6OqrCDg3TYI= X-Gm-Message-State: AOJu0YwNwWZHxMpPFII4G+GfW2q1EQ5GK75b2vqYFd4P1DOVOHzh0QJX 7HrUkesHZ/6Qbam+VEc7C3DfAWmY1XiMn5+IKXW5yMvKS9OEum3S X-Google-Smtp-Source: AGHT+IGT6lvas/msTmacqMQ0wghizGXob7PE44eFUwtJmmUETTwfgNk0Daqo4+P9v7p0rToX6O5djA== X-Received: by 2002:a17:902:f68c:b0:1fd:6848:bc35 with SMTP id d9443c01a7336-1ff572fa64fmr55783935ad.33.1722625777181; Fri, 02 Aug 2024 12:09:37 -0700 (PDT) Received: from DESKTOP-DUKSS9G. (c-76-133-131-165.hsd1.ca.comcast.net. [76.133.131.165]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1ff58f57160sm20907425ad.96.2024.08.02.12.09.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Aug 2024 12:09:36 -0700 (PDT) Message-ID: <66ad2ef0.170a0220.8fae7.6e38@mx.google.com> X-Google-Original-Message-ID: Date: Fri, 2 Aug 2024 12:09:34 -0700 From: Vishal Moola To: alexs@kernel.org Cc: Vitaly Wool , Miaohe Lin , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, minchan@kernel.org, willy@infradead.org, senozhatsky@chromium.org, david@redhat.com, 42.hyeyoo@gmail.com, Yosry Ahmed , nphamcs@gmail.com Subject: Re: [PATCH v4 06/22] mm/zsmalloc: convert create_page_chain() and its users to use zpdesc References: <20240729112534.3416707-1-alexs@kernel.org> <20240729112534.3416707-7-alexs@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240729112534.3416707-7-alexs@kernel.org> X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 8D5FD20018 X-Stat-Signature: 73aksa184ttapi68ndjo1ihronqeg8j8 X-Rspam-User: X-HE-Tag: 1722625778-600044 X-HE-Meta: U2FsdGVkX18jSXxraLEbCHq+7btSLWX+R+9KkF+4F2/ucHCWVbEw5oS1aLe+2zD9ru3jzfX6kj2CgLznB9F85WPIzcZj430HlL1uyrj4SgChrt/yZurThosBlsHAJjajdfiNbKiAlta1q7vH1/j1x4MH0uKWY+t6MQRKviKUvW5QGTSj3AM1aQ3o0K8McEvgAT+zxbGd1uFJsxpGuoKnZi9rQ7kEgLPwI9f7pIRmaFToAQm/D0wrtmxMu3alj1devoVVL2uO4SNTJ5LOebWQGXG3KCsHiOe2kvVnOShmjkVH8gJiFNHVuOemF/NCvdaE2jwnpjoW0ebesZD6pm4H5XGIiCCPftZv5C+/mTiuv1k85RBXd88xC2Lcp8cCCQ7d+RA+38v+M+Bm0FXjYG8rGz+aa13EIKrpGw5F+kOEIFrdXgxelgVDlFm6/bLxkX3v6kTbfdKApGGB5Mt/H0yn8OkEs3elhRBhFEgiSguXgAH0o0jmECexS+icPVSTJkoEFVkuVTp8MYp8YNVLPwePRMQTs+G/rr8fsf5ZpRzyGYUz1kRfsL1CcGj/MndNxk9wy77hJjxvtdghItJ6IXIA9LjGJV7N3J+HOkPWu3r2uyKe1e9eyLY+J9IjZG+mkWL7uQwvaYUjDPkMMqr0LQqKiDYdGvN+XsjFeP2bhbUkgeZMBtQO9FWaZpg+kKlNcQeSYgPZJEOCkpX/hbdbEId1Ze7drLZY4dyywDsRUFyPxEtAZW8jPiyPSf2T2RCqOt1EE3bikTO1qSzdJro6MdWkD2uWifZ9vfBF8gxtEASiOclpqMIc6yVqF0DIYPqKTxVS00nSADk+QXrxH+9t7/ceP6HQLX3zA1xKqUoPLPljNoLQhmb6EB9HjXkQMW+8B/atp9WJha1jvEJ0JSIMzrWnKQaozxM/jtECbTH6HZN+cIhFBm+XDmM1GBJhDEGGBnGkMFPnZ8swshz9CkKKQFT EIOwvCUm tWFocXmWUaiKo6214ICAm0aSnXBi2w9c7iQ5BFvES1VZaqJOOI9KVoj64hSXtFPpBI0LCZ1EHYmqEVVPir2EYsroNONcqXrvnsm3N9JmUqwgQgKyCSP5Si31hIUMu/l0qblnkHGtNuJtbG0vlD9Fytr+IAe+d+nehukfff4Fe/JgWqMKhkHsIDWPfJYp0mwcnNT5sRvGBWXpk6usIymrW+k6s/w7MPiF9IPsx4mh+9sMd7hgNaH18YLRrUTwgBhb4QimxX41J0CUAWXKpmZx9ZYrOy5tN9QVP1JLkExFjaVLN9kHLDHMgNNgjg7bt1CNfTyWbPCBlrDpMcJa685BiHUszDPgra9gSqfDb09khWhTlBI6qjCJXXzD7XWZFAnCx3eGIGAjD9R9nrw/FxX9nnf4h0G1dJlo920ey4JFKsRolyhfQZ+fUuI7N2Srfp+5jumxC6wewYItNIGlxd1F1AB6imd8t8BRIhdtymZwhXjhVJP4yOGlVhmbZiruTpwzMg3wh8I2+IP2VzuAeVAMTXn5DoxNsJuvvnj8DKK7AsfuabPZdtvjHsUWMhA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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, Jul 29, 2024 at 07:25:18PM +0800, alexs@kernel.org wrote: > From: Alex Shi > > Introduce a few helper functions for conversion to convert create_page_chain() > to use zpdesc, then use zpdesc in replace_sub_page() too. As a general note, I've been having trouble keeping track of your helper functions throughout your patchset. Things get confusing when helper functions are "add-ons" to patches and are then replaced/rewritten in various subsequent patches - might just be me though. > Originally-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> > Signed-off-by: Alex Shi > --- > mm/zpdesc.h | 6 +++ > mm/zsmalloc.c | 115 +++++++++++++++++++++++++++++++++----------------- > 2 files changed, 82 insertions(+), 39 deletions(-) > > diff --git a/mm/zpdesc.h b/mm/zpdesc.h > index 79ec40b03956..2293453f5d57 100644 > --- a/mm/zpdesc.h > +++ b/mm/zpdesc.h > @@ -102,4 +102,10 @@ static inline struct zpdesc *pfn_zpdesc(unsigned long pfn) > { > return page_zpdesc(pfn_to_page(pfn)); > } > + > +static inline void __zpdesc_set_movable(struct zpdesc *zpdesc, > + const struct movable_operations *mops) > +{ > + __SetPageMovable(zpdesc_page(zpdesc), mops); > +} > #endif > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index bbc165cb587d..a8f390beeab8 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -248,6 +248,41 @@ static inline void *zpdesc_kmap_atomic(struct zpdesc *zpdesc) > return kmap_atomic(zpdesc_page(zpdesc)); > } > > +static inline void zpdesc_set_zspage(struct zpdesc *zpdesc, > + struct zspage *zspage) > +{ > + zpdesc->zspage = zspage; > +} > + > +static inline void zpdesc_set_first(struct zpdesc *zpdesc) > +{ > + SetPagePrivate(zpdesc_page(zpdesc)); > +} > + I'm not a fan of the names above. IMO, naming should follow some semblance of consistency regarding their purpose (or have comments that describe their purpose instead). At a glance zpdesc_set_zspage() and zpdesc_set_first() sound like they are doing similar things, but I don't think they serve similar purposes? > +static inline void zpdesc_inc_zone_page_state(struct zpdesc *zpdesc) > +{ > + inc_zone_page_state(zpdesc_page(zpdesc), NR_ZSPAGES); > +} > + > +static inline void zpdesc_dec_zone_page_state(struct zpdesc *zpdesc) > +{ > + dec_zone_page_state(zpdesc_page(zpdesc), NR_ZSPAGES); > +} > + > +static inline struct zpdesc *alloc_zpdesc(gfp_t gfp) > +{ > + struct page *page = alloc_page(gfp); > + > + return page_zpdesc(page); > +} > + > +static inline void free_zpdesc(struct zpdesc *zpdesc) > +{ > + struct page *page = zpdesc_page(zpdesc); > + > + __free_page(page); > +} > +