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 52629C001DE for ; Thu, 3 Aug 2023 00:26:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D466E280202; Wed, 2 Aug 2023 20:26:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF6CD2801EB; Wed, 2 Aug 2023 20:26:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BBEB0280202; Wed, 2 Aug 2023 20:26:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id AA4712801EB for ; Wed, 2 Aug 2023 20:26:32 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 81C7A1201EE for ; Thu, 3 Aug 2023 00:26:32 +0000 (UTC) X-FDA: 81080902224.28.A132BDC Received: from mail-vs1-f54.google.com (mail-vs1-f54.google.com [209.85.217.54]) by imf12.hostedemail.com (Postfix) with ESMTP id BAFDD4000C for ; Thu, 3 Aug 2023 00:26:30 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=A3FMTBgS; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of almasrymina@google.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=almasrymina@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691022390; 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=Nk6j0GFS7IPls0T71J5TEv/VUGibQ9LYNrY6ZRhc4WQ=; b=A24YsbDrF/hQ0AC037zF0g4JZiRiXRG1w1ywJxvyHCyO6E6Eo+VtmbKX/zh0eyLKvHjEbI RuwSOivmbWOHvxaBPH/8eXdLSVEjiz4TCFb7wZG2g2wmXVdM90uUhzfFGTY1IZhD4lz94d j5R+++b2TwTA1lL0WGpw80Oz8Uv2rkU= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=A3FMTBgS; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of almasrymina@google.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=almasrymina@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691022390; a=rsa-sha256; cv=none; b=hKqvTvbkg2RHlkL8naIYLPbRSVJMYVZgMOkOqYiwO94rSVKZeW9PkQ9c7cDPmhPMKsj5MV VraCOjC4JQyV9758RCSkZEmos5+ELIDD+VczUsOFeudwP/3NEH4rdbd0uOrdu/zIDH+bZ/ 2ZR5ev06DxWBKwU7sZWAvu3V2zACQ1E= Received: by mail-vs1-f54.google.com with SMTP id ada2fe7eead31-4476a9e8812so184436137.2 for ; Wed, 02 Aug 2023 17:26:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691022390; x=1691627190; 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=Nk6j0GFS7IPls0T71J5TEv/VUGibQ9LYNrY6ZRhc4WQ=; b=A3FMTBgSM/+Ry82aQYMpgPvkPsrxEIudSjvLRAWekauteN8dYcaciENk0Oham5nWy+ xsg+1uyABr3c3yglOICg10HACIY9k/783EuGqXe2gDqUbmOLBe4ITkiMpCmo4Cu5uCY0 /scnsN6894j9ytnLEzrF/w7h2uyoiPKsbe/x/albIdAKXtTpayBGcFePRywUNDjpc905 8nbZHZUqds3mtii+jbBCHzaGjdZpvKEn9UI0/SCJlYo6Q+PJwHx5BIHl14YDI89e/yNV FjzS23P8g6NrJ2DsGhaKnVgo0HwUWsVpHMrrDU5GGAncT+91/Zxnk5kSsYr8aUB/vsDb nqGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691022390; x=1691627190; 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=Nk6j0GFS7IPls0T71J5TEv/VUGibQ9LYNrY6ZRhc4WQ=; b=QOZv0BojnJfZ1MAB7RS9npGexMbPgnI/G6j5SvSjILLwdmiXkKGY8/JIhaYbVNzs32 8eFM0x59PYNPr5CAwc4HHi4rYxEkLkkPAfBO7pKFbY/8aHw9AvN1YuodItznJPV4fbZF CRW20Q49n5LFPcCdUat14DSdiiwVCRvy6jup1xd8+P8o6tUSBRMxP3m4yGVbvp29oKQD NsaOysFHa9/+x0Upn/miaLForeN1vu5iVeOLhANvAJrzLCYb/7uwJuueCN3sqJ8wTZfU WVMDbd5StY1CDFyTi1HfaMqF7kRU+JlQnGw78leOf6Eb9hUsZZ3el+rHaoygkuQRtW/M xG7g== X-Gm-Message-State: ABy/qLblwktKUhBLGt2ur7mgU6GHkNGzGyw8NAjWueNZkIXjwb7MQYCA ixrK4QjjlJsWc3W8AH4DimaSP0W9a8Aaj7uK92eDFQ== X-Google-Smtp-Source: APBJJlHQm66TQC7ZMPcAlCbk6UgXh9vKj+jbw4Phlpmpl7p76qi5w0WQynMiK0D3UAqbFJec33RdF5UnBYM/r6Ya17U= X-Received: by 2002:a05:6102:364d:b0:443:8034:be4a with SMTP id s13-20020a056102364d00b004438034be4amr5895518vsu.28.1691022388451; Wed, 02 Aug 2023 17:26:28 -0700 (PDT) MIME-Version: 1.0 References: <20230731074829.79309-1-wangkefeng.wang@huawei.com> <20230731074829.79309-2-wangkefeng.wang@huawei.com> <20230731234027.GB39768@monkey> In-Reply-To: <20230731234027.GB39768@monkey> From: Mina Almasry Date: Wed, 2 Aug 2023 17:26:17 -0700 Message-ID: Subject: Re: [PATCH 1/4] mm: hugetlb: use flush_hugetlb_tlb_range() in move_hugetlb_page_tables() To: Mike Kravetz , James Houghton Cc: Kefeng Wang , Andrew Morton , Catalin Marinas , Will Deacon , Muchun Song , kirill@shutemov.name, joel@joelfernandes.org, william.kucharski@oracle.com, kaleshsingh@google.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: BAFDD4000C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: tqgi8bn6qwdsxuhnndxit74wn364bmzh X-HE-Tag: 1691022390-427236 X-HE-Meta: U2FsdGVkX19wzpWxGshkY+JyCzEOGSqcftCR3/vnLJ8fEN1MGL6bSSGZw6QJhfQXCe+tSIrt7mxOTY37/HnTl8uTm+TNS5G8c40qRbaPFODgLD3k1p1RoZQHACIKd3fDkg6bquK9zarvL7v0Y4fF1Ps8gT8AyxLMcIFm3u7Mo3GktH3GqYdfbhetU3m7Tv3+jiu0mnMre8XYZDsb0p7jOV/AHK3F3Ss2fjY3Xo/tmJaoJeSPsif8qp25KLw4AdHbCbYqxy5eUg8NbuGeS4ymJJ1kfCHRUevO4hhtB5T4eB5WAwBFEbrP5aA0bKpDO/utmyerH1hEM2V8LsN2CzCrpiyd2zcbMOwSOmO5NJKrCxMIhaWQYRqNYJQ8mAbE4rvxZF/8FzgX0lVu7EtgWhl9lAfZteiDLbb0grrAlTfxQ0B2EeEGNxvx144YMV37QGhsHMcWB/2A/EKZizb9tjDH44WRvUYPSdy6nlc65RCag7ybUf5Xne9HLppFJqKnb77jIbzcThJTTYD8ISN4EpUXCkCJlC3obR+r+jyebhTyUm26fG+AjafXeayuFIDIzlq2o/AyiVWltdpZ+vLQfNUFiR5pTm1mND9hrMZGFw/varAsp89O3UM7LazB1V6NAjfGs40fk9YUDjzEd9mRqfFOhjQTXnMjrX7w2NVJT9pU6JHS0fL8GB+a9Om5mfHugxpSQdlPk/7mMS5kyj5kzebEGGvYyr1cLyM3cQiSIlDgpehFCTACkLYvtYEkzVTZTsDlVwsCY3uuEN5xwgcLc9G2PIO8fnixNMqo2u2Vmumek/KBJAmkJblePKMYi0ojfWDOLRSAYbx/eLUiPSZXTOp7ZC9/MLdOzLSVWkmX5EwfYNkbc+XghqM7lsem2U4kMaUErYXpsZX4NTkMqNUpyHlWvDvnI8fKsndDnbctBJND66YZuBdL1hCz9Mlf0l/nWK0zi+u9RgjmVaHSXy0Wrqf P9fxXkwA zF0u2Kr9pYOpfeTN0kRAUL8WJn6Y78kmCR+K5ZGVC4vqTJUZFG4ThLut8REY83rKicuYJTpAF0PBHO4lVY5t3530Vy1K9UbTaN+dOPe82sDYTAGAehG3KFmv3TokBjpShlke4BA5ssAhSPA3YjVLv16UtNts3Ekgcs2H5VtyQ6WaLevNt7RAYYepz/MCRGH2hSSe9wDlv+dL1QvM1xbihltU14kJ9uLU75p/oToGOXU7x+1R9EAw1wgLBDPKLA+HYEUgGrbHOEvUbYoACGio7nk2RMd3xgEAbWHWyfNKo3uxUxS6ayqFHlC9jT5a86AnJBtbF 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 Mon, Jul 31, 2023 at 4:40=E2=80=AFPM Mike Kravetz wrote: > > On 07/31/23 15:48, Kefeng Wang wrote: > > Archs may need to do special things when flushing hugepage tlb, > > so use the more applicable flush_hugetlb_tlb_range() instead of > > flush_tlb_range(). > > > > Fixes: 550a7d60bd5e ("mm, hugepages: add mremap() support for hugepage = backed vma") > > Signed-off-by: Kefeng Wang > > Thanks! > > Reviewed-by: Mike Kravetz > Sorry for jumping in late, but given the concerns raised around HGM and the deviation between hugetlb and the rest of MM, does it make sense to try to make an incremental effort towards avoiding hugetlb specialization? In the context of this patch, I would prefer that the arch upgrade flush_tlb_range() to handle hugetlb correctly, instead of adding more hugetlb specific deviations, ala flush_hugetlb_tlb_range. While it's at it, maybe replace flush_hugetlb_tlb_range() in the code with flush_tlb_range(). Although, I don't have the expertise to judge if upgrading flush_tlb_range() to handle hugetlb is easy or feasible at all. > Although, I missed this in 550a7d60bd5e :( > > Looks like only powerpc provides an arch specific flush_hugetlb_tlb_range > today. > -- > Mike Kravetz > > > --- > > mm/hugetlb.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index 64a3239b6407..ac876bfba340 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -5281,9 +5281,9 @@ int move_hugetlb_page_tables(struct vm_area_struc= t *vma, > > } > > > > if (shared_pmd) > > - flush_tlb_range(vma, range.start, range.end); > > + flush_hugetlb_tlb_range(vma, range.start, range.end); > > else > > - flush_tlb_range(vma, old_end - len, old_end); > > + flush_hugetlb_tlb_range(vma, old_end - len, old_end); > > mmu_notifier_invalidate_range_end(&range); > > i_mmap_unlock_write(mapping); > > hugetlb_vma_unlock_write(vma); > > -- > > 2.41.0 > > --=20 Thanks, Mina