From patchwork Fri Oct 21 16:36:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Houghton X-Patchwork-Id: 13015088 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 CABF9FA373D for ; Fri, 21 Oct 2022 16:37:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 047D48E0016; Fri, 21 Oct 2022 12:37:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F146D8E0001; Fri, 21 Oct 2022 12:37:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF1398E0016; Fri, 21 Oct 2022 12:37:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id AF3DD8E0001 for ; Fri, 21 Oct 2022 12:37:36 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 738DC1C6CEF for ; Fri, 21 Oct 2022 16:37:36 +0000 (UTC) X-FDA: 80045512512.10.95F99FF Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) by imf29.hostedemail.com (Postfix) with ESMTP id 2127F120043 for ; Fri, 21 Oct 2022 16:37:35 +0000 (UTC) Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-360a7ff46c3so34034277b3.12 for ; Fri, 21 Oct 2022 09:37:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=b10z9K2d7yL2NkYZoSYI1eqym2z6cE2oNjVSRM+YxM4=; b=RdBFlvTWkP0mOj/+10aeT3pEp8gO1xe67MKNQAL9eJH8ygvwfl65HnLVJ/TXb07S8J Ekg4eIzJiS8mFJVRjcHyYUexaJ2Wpz0KD24tdJaK9vQvVpzHw4Swadb/CS9sPPIaClpx a4pSknIHqn7yKEu2xGQn6BM9ClrfpieKDQTxfc134vaHcOGtZtUzcwwZ/+hyo2Y9SDbU EqxOcGGs64poU/YYQXMdII6wUC0HnwMTfwDML9Jw5n3ISsd1571avOMoRlykby8HbVOv iidSXRx0txEQjxJng6lLm/tQXQGCk4PTQsXMvO/tZsN0O2ZrP+47TYzob91093CTHxXV vE5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b10z9K2d7yL2NkYZoSYI1eqym2z6cE2oNjVSRM+YxM4=; b=H/SorkTRlwPlRwUQcj0sTXHByVNPFyLemcb5x3zMGkBfuUt4R7SzVYBWnFC1ROJPwr SLK4zwkTWlxHxEh3C2kcOp7s1fSclW1REyWMEGmuxvfd+blOK+XWdFt29osFdLETKMlj dp1Ob64irWuZPPf5SOpVUPn/kx84itfmPEfpUSWmFJCVsyo/1EjowG3IsNs76bbtF3aU KN5COtgdvDaHW/KYS4zGfPIisuiomZGQoTCHrskxRDqUu438Cx/6l5xoNzO9lVlyvdpy dPQgYL6GFV7ar3sQv+cdfB+q2i+UsV6D4oxSIGK15hBZcrD/QaivyM55lnKvvxZQRjqD uC6g== X-Gm-Message-State: ACrzQf2Alj+g4AS+CbyjN+i/yebg5g3AvTNU+HRvBE2H/BCTSD8Pcv/K bXXxJAYBOVLlH74q7w3wEOzbSRs+j0JHb1Yb X-Google-Smtp-Source: AMsMyM4a1Xbq88agbnwbbrlQOayFRrDGXm2X6sV7Iqp0l2y6+5WLGgjVLDxiqSHzLLJPyqPxXNBrDUUp2xxQ0SZu X-Received: from jthoughton.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:2a4f]) (user=jthoughton job=sendgmr) by 2002:a81:8d14:0:b0:361:4e59:a90e with SMTP id d20-20020a818d14000000b003614e59a90emr17171702ywg.288.1666370255675; Fri, 21 Oct 2022 09:37:35 -0700 (PDT) Date: Fri, 21 Oct 2022 16:36:37 +0000 In-Reply-To: <20221021163703.3218176-1-jthoughton@google.com> Mime-Version: 1.0 References: <20221021163703.3218176-1-jthoughton@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Message-ID: <20221021163703.3218176-22-jthoughton@google.com> Subject: [RFC PATCH v2 21/47] mm: rmap: provide pte_order in page_vma_mapped_walk From: James Houghton To: Mike Kravetz , Muchun Song , Peter Xu Cc: David Hildenbrand , David Rientjes , Axel Rasmussen , Mina Almasry , "Zach O'Keefe" , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, James Houghton ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=RdBFlvTW; spf=pass (imf29.hostedemail.com: domain of 3z8pSYwoKCNA5F3AG23FA92AA270.yA8749GJ-886Hwy6.AD2@flex--jthoughton.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3z8pSYwoKCNA5F3AG23FA92AA270.yA8749GJ-886Hwy6.AD2@flex--jthoughton.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666370256; a=rsa-sha256; cv=none; b=6LjfTJGMCICuZRFYCtVZgXAueBxdhIrk834ocoxDOBrgsXq5+btRu0L+uYVzzKAPr4OONA H5aLWYxSQKT/D1IQK6bNQ1NyNCo3N9grwTHZul47zsS06vJVKiIvPMpXEBJrs4VBwn37bD 5oJsoKrLPggyVGC4VambogNo+REMxgw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666370256; 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=b10z9K2d7yL2NkYZoSYI1eqym2z6cE2oNjVSRM+YxM4=; b=eSSVJpca5gJ4EFr6BsRRqlrV0+zcMH10sedpRzYAJXL7LMMNOaSDKpt+sz+OuqqtBgrK2P v562D5GL/4BhUklUaYRlfFeOCSpj2lJ9DcmjMWCnRlYkUooAHsjJe5sQP5So2gsxCRBrNA vHj49M1xirtvfPCr9hLIMSnK1ur4XjE= Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=RdBFlvTW; spf=pass (imf29.hostedemail.com: domain of 3z8pSYwoKCNA5F3AG23FA92AA270.yA8749GJ-886Hwy6.AD2@flex--jthoughton.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3z8pSYwoKCNA5F3AG23FA92AA270.yA8749GJ-886Hwy6.AD2@flex--jthoughton.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: wqbhcx74jjnf6863dgbcj54uk83t9e7p X-Rspamd-Queue-Id: 2127F120043 X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1666370255-554807 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: page_vma_mapped_walk callers will need this information to know how HugeTLB pages are mapped. pte_order only applies if pte is not NULL. Signed-off-by: James Houghton --- include/linux/rmap.h | 1 + mm/page_vma_mapped.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/linux/rmap.h b/include/linux/rmap.h index bd3504d11b15..e0557ede2951 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -378,6 +378,7 @@ struct page_vma_mapped_walk { pmd_t *pmd; pte_t *pte; spinlock_t *ptl; + unsigned int pte_order; unsigned int flags; }; diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c index 93e13fc17d3c..395ca4e21c56 100644 --- a/mm/page_vma_mapped.c +++ b/mm/page_vma_mapped.c @@ -16,6 +16,7 @@ static inline bool not_found(struct page_vma_mapped_walk *pvmw) static bool map_pte(struct page_vma_mapped_walk *pvmw) { pvmw->pte = pte_offset_map(pvmw->pmd, pvmw->address); + pvmw->pte_order = 0; if (!(pvmw->flags & PVMW_SYNC)) { if (pvmw->flags & PVMW_MIGRATION) { if (!is_swap_pte(*pvmw->pte)) @@ -174,6 +175,7 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) if (!pvmw->pte) return false; + pvmw->pte_order = huge_page_order(hstate); pvmw->ptl = huge_pte_lock(hstate, mm, pvmw->pte); if (!check_pte(pvmw)) return not_found(pvmw); @@ -269,6 +271,7 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) } pte_unmap(pvmw->pte); pvmw->pte = NULL; + pvmw->pte_order = 0; goto restart; } pvmw->pte++;