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 7C611C7EE45 for ; Thu, 25 May 2023 18:17:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D58E4900002; Thu, 25 May 2023 14:17:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDFF66B0078; Thu, 25 May 2023 14:17:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B59EA900002; Thu, 25 May 2023 14:17:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A7E3E6B0075 for ; Thu, 25 May 2023 14:17:30 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5782B140513 for ; Thu, 25 May 2023 18:17:30 +0000 (UTC) X-FDA: 80829585060.15.4638E72 Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com [209.85.219.169]) by imf26.hostedemail.com (Postfix) with ESMTP id 5891814001A for ; Thu, 25 May 2023 18:17:27 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qpx33W23; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.169 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=1685038647; 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=vEt/V8+3jpKdaWf/91twz9m1AxbB8mw1sieW7q1FOX4=; b=FuJ77bqX87dN9LZJOCTczgqqRMZ/R/GXO24Q4ef7RjMdplAmAgGmwP9/v7j8nbD7tnW9im wR9Y/TdPgKdemsskgz0cnmnfYxvQ/3SWj5xooaKfsB3Fgwp2T5T9BrrK4cx/smikZ8iRHD RH8GlxbujVTIvRE1EJVNNEyXLyZzrEs= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qpx33W23; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685038647; a=rsa-sha256; cv=none; b=B1XrKQ8PMDD/qT28oq21Cte77slUJdEVGnx6UcUy8Zimy3d3wvQYpNcrR9XyIKEHV5PRh6 QlvuO7QoRQ9k8NEa5idRCp3s0V1wNyDqeEOQ93zOubqXorc2ZX9AA8dKD7jM0NAhfcWlWd GJm+H77UhG2CT2qf1WyzqlXmnGId4iE= Received: by mail-yb1-f169.google.com with SMTP id 3f1490d57ef6-ba6d024a196so764575276.2 for ; Thu, 25 May 2023 11:17:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685038645; x=1687630645; 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=vEt/V8+3jpKdaWf/91twz9m1AxbB8mw1sieW7q1FOX4=; b=qpx33W23LxzGgtt7x0f+jHNiqnq/vW7f+lo4R60odkrqHHbvAvDFwCToA7ZeGOtlZu 1pix82nq+XRaSlrOoV5XSSn7dUtYbrVRPJSVcc+Y0QUEIud/VeliblGAWTefKuC3uiLW Y767SW9acPu7TamxQ3rDZ7ad1waallUvH2KGWMSoPdMgQ6uqByETyo++E8JgCnYWaIR7 T+3+xQi6fbJlgvqxHEFBxTPhg1oh030qaBtpvB360U8uoO6SqTXFxFoolc38s3Jd+HWF qSuZfJvCEliq2Q2QxhelaN+CYntsdlTkVUzhuGY+pHQjjIlm9D34YIwBuMF1/x8S1rOB qR0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685038645; x=1687630645; 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=vEt/V8+3jpKdaWf/91twz9m1AxbB8mw1sieW7q1FOX4=; b=lHLsqXJidC9SpIe/Y186KQsfNs+yNSBJWD9HT/ve7rnfV9MJJztJqDllfjyVoGm7vK Nq88aW8xNDto5Vd2ECKEl+NXGKjE0XFpZkm0ZgTewBhEneN7aEVxWjoRwaUsVbOp0Ejw Jy1guFyPB66OwoHKWhvnhLDsXpCZeuJorSA5CHra9iqMhAtYTXFSuE6cM3OxpDWrjioV ot9zQuHx/d2nw1nA7bhM2GtEi9hOULRGjItx2YvMbOdClgBwUqqBGDtvjACSAzcFWvnq oRKXOGhR16zULwBuD0IgZB+iWFbzFH0cZAOfJAbiELH7F2ZBz9T4yMs/3GAj4ZNRcoLO aCLQ== X-Gm-Message-State: AC+VfDzJD2BGhzCVMDQhJOyxswyI88KDmzXVSma0gHDOpuikm0lgZHdk yf/yCUxFmBH7JJ089Q9MORwN30XuFYN0MtauEvv08EcSTi4= X-Google-Smtp-Source: ACHHUZ4CxdCafEVA2N8+YE3r54vbJuyNv4iSvWQn7ibpFdu7Q8YcRob13nPjv7XKdbKB6AoaGk0hrDu/6J2TDu7u8Qo= X-Received: by 2002:a25:ac6:0:b0:ba7:bb4c:7960 with SMTP id 189-20020a250ac6000000b00ba7bb4c7960mr4320550ybk.26.1685038645132; Thu, 25 May 2023 11:17:25 -0700 (PDT) MIME-Version: 1.0 References: <20230501192829.17086-1-vishal.moola@gmail.com> <20230501192829.17086-14-vishal.moola@gmail.com> <20230525091900.GY4967@kernel.org> In-Reply-To: <20230525091900.GY4967@kernel.org> From: Vishal Moola Date: Thu, 25 May 2023 11:17:14 -0700 Message-ID: Subject: Re: [PATCH v2 13/34] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor} To: Mike Rapoport Cc: Andrew Morton , Matthew Wilcox , linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 5891814001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: oaiqomn9dupmhf431a9jbc1m5rthyb59 X-HE-Tag: 1685038647-671082 X-HE-Meta: U2FsdGVkX1/ZvXiU9cSsV4wPsOrmC971yvuze0GBbtdizVKpVaws7678BNp/OLPyI8yjIjqIF4ES7vZzDrIU+dlooWyIQh/GZ8XpXaI2nmNl7lHCtk8IDYfxDLBuG7C601NZxtBomT+yvqBH+X8apNItj9KXALFSSNWQMyTd8QKDrrCBaACiqo2ZXugQlbo/5OQeho5gmExzPupvZh5TgCz7eQBQZPOm2DNflhFstuhFXex038a65UhpO98fLlMOkXdGedPUtGZpiT8GhkHZqEgJ9XZ23DkjweEmRmoi2oAfp9psetpPrTJIAPXxaLPLiD9Orv+RB+TkQBI0cfavljGMKKDIjE7nyW4QreCofJqGS1UK3DrH8Ep8gFmbJp2PdzXJOWn/WipBSbVu7tUvzegIXO+Agqq7U68E0a5t6i0oUic5fcP6aQsVG5xS/jmSoySpBszJxCdN/JwpKDNqTzskU07N2aRrzEg4qGCwMLX0B3bze6gKICWMx/d8hvtssWzB2lMDo1H7i71bufE65RmAtNdRaygpaSqAR0f/bUUI8FJO/Q/9VjkDIEI+3lc01SbpduAPrcLwFIoZ8FEm70mt2g8oEIkmSdjtTdtx47T8JtLZnP1VscbAs9X7OLLgV1+CgJMnUNwQ4m+3PuV8Ypq7V6OgQErkg1S0HTn61r6ukN25BJxxe/km+VZzL6m/0856rNbZFmnsOvH205T8tkeCvUrnQtoxHuRW1pYFPTM06fL83jqzto3drIWcJw0X0gWzHKruZgv0rMdF3mIPuVSr+wG0tiJZ0GUzXCcFQ3sSKFmyU1UUkEr+5uHbBy8AB2p+9UjfKg59BxZ93lYCWeLH73M6Q9op80INcXGmoRCKzafioKPF54m4r8mXMeOPDlWMsFmGskynwOYQ4z6C0gzzf5VK9k/G+3c29naBzgvY4cGs3OyDOsB3KIF6CUYgvYRUCBGaXrY57nV9ycK EgLWVGY4 33XT97L1sj4yhLGz27r+76bm3Ura34D3RgBrT+QfgKX8XwOgi5mMUgtJcIYa2IGNdtwpvIseshSJ+GDN4ucLgJ7xxBbQQ7evBkJ8BzQyNUoXWHVnEnCbPpnpt51RJ5RdRRFUZKaNDHp+abI6f2V9IuMVAFQl0S2SYoDWtaQiUtMnuWSxvtkcLHdd4O/XIVfnerBlUE+6kPTcU4ryc3o4Wh5OyF17diaTEJ745+0Is5JukvoYeO6DvxI+5r0DCo5Ge48jaQn0l8+9gAaVqa98H26Y/MO9UwHUKxObPTi0lglZt04trjc0hf/JRJ5qeRQyAnx2jC1lZrLd9L+gV1BDc61uXPtjpHmTainOnns0QPau0tPsIIEaSdaH5NmzcVpyVRKR+HbFW0bS7sVAJT6z2e7I4/M6EDwNHceiv9VICLHNf2uqY8YHAMEe5HoVZSoQhO/kud1cHSuODquAMhQzJ54H9Js/LFRIy5+rPRDoDjiF2uPpYZPuqCHcirIGb9d68s0VHn4wHArgKxro= 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 Thu, May 25, 2023 at 2:19=E2=80=AFAM Mike Rapoport wro= te: > > On Mon, May 01, 2023 at 12:28:08PM -0700, Vishal Moola (Oracle) wrote: > > Creates ptdesc_pte_ctor(), ptdesc_pmd_ctor(), ptdesc_pte_dtor(), and > > ptdesc_pmd_dtor() and make the original pgtable constructor/destructors > > wrappers. > > I think pgtable_pXY_ctor/dtor names would be better. I have it as ptdesc to keep it consistent with the rest of the functions. I also think it makes more sense as it's initializing stuff tracked by a ptde= sc. > > Signed-off-by: Vishal Moola (Oracle) > > --- > > include/linux/mm.h | 56 ++++++++++++++++++++++++++++++++++------------ > > 1 file changed, 42 insertions(+), 14 deletions(-) > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index 58c911341a33..dc61aeca9077 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -2847,20 +2847,34 @@ static inline bool ptlock_init(struct ptdesc *p= tdesc) { return true; } > > static inline void ptlock_free(struct ptdesc *ptdesc) {} > > #endif /* USE_SPLIT_PTE_PTLOCKS */ > > > > -static inline bool pgtable_pte_page_ctor(struct page *page) > > +static inline bool ptdesc_pte_ctor(struct ptdesc *ptdesc) > > { > > - if (!ptlock_init(page_ptdesc(page))) > > + struct folio *folio =3D ptdesc_folio(ptdesc); > > + > > + if (!ptlock_init(ptdesc)) > > return false; > > - __SetPageTable(page); > > - inc_lruvec_page_state(page, NR_PAGETABLE); > > + __folio_set_table(folio); > > + lruvec_stat_add_folio(folio, NR_PAGETABLE); > > return true; > > } > > > > +static inline bool pgtable_pte_page_ctor(struct page *page) > > +{ > > + return ptdesc_pte_ctor(page_ptdesc(page)); > > +} > > + > > +static inline void ptdesc_pte_dtor(struct ptdesc *ptdesc) > > +{ > > + struct folio *folio =3D ptdesc_folio(ptdesc); > > + > > + ptlock_free(ptdesc); > > + __folio_clear_table(folio); > > + lruvec_stat_sub_folio(folio, NR_PAGETABLE); > > +} > > + > > static inline void pgtable_pte_page_dtor(struct page *page) > > { > > - ptlock_free(page_ptdesc(page)); > > - __ClearPageTable(page); > > - dec_lruvec_page_state(page, NR_PAGETABLE); > > + ptdesc_pte_dtor(page_ptdesc(page)); > > } > > > > #define pte_offset_map_lock(mm, pmd, address, ptlp) \ > > @@ -2942,20 +2956,34 @@ static inline spinlock_t *pmd_lock(struct mm_st= ruct *mm, pmd_t *pmd) > > return ptl; > > } > > > > -static inline bool pgtable_pmd_page_ctor(struct page *page) > > +static inline bool ptdesc_pmd_ctor(struct ptdesc *ptdesc) > > { > > - if (!pmd_ptlock_init(page_ptdesc(page))) > > + struct folio *folio =3D ptdesc_folio(ptdesc); > > + > > + if (!pmd_ptlock_init(ptdesc)) > > return false; > > - __SetPageTable(page); > > - inc_lruvec_page_state(page, NR_PAGETABLE); > > + __folio_set_table(folio); > > + lruvec_stat_add_folio(folio, NR_PAGETABLE); > > return true; > > } > > > > +static inline bool pgtable_pmd_page_ctor(struct page *page) > > +{ > > + return ptdesc_pmd_ctor(page_ptdesc(page)); > > +} > > + > > +static inline void ptdesc_pmd_dtor(struct ptdesc *ptdesc) > > +{ > > + struct folio *folio =3D ptdesc_folio(ptdesc); > > + > > + pmd_ptlock_free(ptdesc); > > + __folio_clear_table(folio); > > + lruvec_stat_sub_folio(folio, NR_PAGETABLE); > > +} > > + > > static inline void pgtable_pmd_page_dtor(struct page *page) > > { > > - pmd_ptlock_free(page_ptdesc(page)); > > - __ClearPageTable(page); > > - dec_lruvec_page_state(page, NR_PAGETABLE); > > + ptdesc_pmd_dtor(page_ptdesc(page)); > > } > > > > /* > > -- > > 2.39.2 > > > > > > -- > Sincerely yours, > Mike.