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 C62E5C61DA4 for ; Thu, 9 Mar 2023 19:59:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B2976B0075; Thu, 9 Mar 2023 14:59:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 661C56B0078; Thu, 9 Mar 2023 14:59:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5299F6B007B; Thu, 9 Mar 2023 14:59:16 -0500 (EST) 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 44CD86B0075 for ; Thu, 9 Mar 2023 14:59:16 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 1EA88C1142 for ; Thu, 9 Mar 2023 19:59:16 +0000 (UTC) X-FDA: 80550423912.11.8447EBD Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) by imf20.hostedemail.com (Postfix) with ESMTP id 5C5441C0022 for ; Thu, 9 Mar 2023 19:59:14 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=GFvoS4a+; spf=pass (imf20.hostedemail.com: domain of jthoughton@google.com designates 209.85.219.173 as permitted sender) smtp.mailfrom=jthoughton@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=1678391954; 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=uFCNC/vYq94itAnDGpHNmbJxauP9MDrM1R5OhIvk1z4=; b=ffTq0aDpbC0/hP7jEVBS7YEEy0Duxpr2HqR5hYeuBId9iyHGkHB/75i8V3oPQcYLOnwdth xXSLHMay4llzw/b3qYA08XzRpZOpsK/un0dkuE7/zYMAExWMpjgJdrmbegj3mZOVa4Y0vR WhcFHNjTd5sxcXQnN/a4dGfrbruom+o= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=GFvoS4a+; spf=pass (imf20.hostedemail.com: domain of jthoughton@google.com designates 209.85.219.173 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678391954; a=rsa-sha256; cv=none; b=dAqainN2PJpu4PxwHRyOctnlU3ZbkHrjm73rlFEiA54tiz5VYG92aO9Rvk/YNdQhwsB/C0 T0rRk0N2nMjJkYUNTOvo78ttjuoiGCyJKTRvVUvpwb5Dmuve5p/FCEIzrvlWvUTIzZMXHh E4wXFKuO1C5dlOj4AVn2yDBjF3iCSWc= Received: by mail-yb1-f173.google.com with SMTP id o1so3132070ybu.13 for ; Thu, 09 Mar 2023 11:59:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678391953; 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=uFCNC/vYq94itAnDGpHNmbJxauP9MDrM1R5OhIvk1z4=; b=GFvoS4a+KU4C5zL5l2DiI8whruPL/E4xmsQFgvVnXDAWFx8l1HpKOHIEV9LG209me7 eVKn6rW9wzmvAmbN6yawN385xakFtbzOb6GdUPj/utHXy5jZnZ6E7IBjvQvuxH2X01uB E7CDvcoiL+Lc8k5mxtBi97oiwav4sUzNC9+ePXZRo9tAdrVO5Rs2w0I032a8Vnw8seBf zW3rbNeLOUO/aCupFvziq03hjmJ0rFg1UV/fAW74kA/DtMf1dnuM8ftshPdrxhG93zJ9 S6NJjgqez+t3FuZDpQFyW0Cd4eTqjcAf6kJyPVEJClpoJB6y3FxH0It0w/8kiHHjFgzv 2O4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678391953; 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=uFCNC/vYq94itAnDGpHNmbJxauP9MDrM1R5OhIvk1z4=; b=YjmIN1jRIOloG9nwziY1ZBuVcj7jJPUH4590QNxWfojci+HX78Bx3UKh74T2WAXZPg yJlA50KQy/BeBJQgKtHc2lqFUfyvpuqzijU3wipMZ0qOy33QdR2OiuxIwrVQUP4GMQ37 ZmxGi/jBfI+iC8foEHrHV4caLAE62KJA4gTLfOePm4deSLxB9zJUEzIFZDMt+3XYpj61 NsHW6+v4nuGO8suxucfQqzZjy6h2hqxzxkkD5QwDQALXMjlrqTbnZ92kYb8EppWg5VsU r7FbCSZ+zNeLi+5tBr1a0bzTYq+Z+zQ0hX+fgpUkAzO+BKNw3RrmxgJIwGyPvqFntlgI mB5A== X-Gm-Message-State: AO0yUKVj8xjuAXTwWITnVNzqkh2FO36F+pvzSTiTFPCF3RLy95viLsfJ ygCy7mPCmMsWYF9hh3lcshzVGXEYovm5NfiTu0mLwQ== X-Google-Smtp-Source: AK7set/wWc7mwdGSf47sts1b6uAdfX2X95Pk6naGMsMYvcMW9zYO/9EgJXe2P2wXjghWqhKOV0OxTgyMRafpQudLJ4E= X-Received: by 2002:a5b:a0c:0:b0:a24:1001:1fd2 with SMTP id k12-20020a5b0a0c000000b00a2410011fd2mr13996848ybq.0.1678391953431; Thu, 09 Mar 2023 11:59:13 -0800 (PST) MIME-Version: 1.0 References: <20230306230004.1387007-1-jthoughton@google.com> <20230306230004.1387007-2-jthoughton@google.com> <20230307215420.GA59222@monkey> In-Reply-To: From: James Houghton Date: Thu, 9 Mar 2023 11:58:37 -0800 Message-ID: Subject: Re: [PATCH 1/2] mm: rmap: make hugetlb pages participate in _nr_pages_mapped To: Peter Xu Cc: Mike Kravetz , Hugh Dickins , Muchun Song , "Matthew Wilcox (Oracle)" , Andrew Morton , "Kirill A . Shutemov" , David Hildenbrand , David Rientjes , Axel Rasmussen , Jiaqi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5C5441C0022 X-Stat-Signature: 88bfganooyzzok6u4zghu1u8fc3diioo X-Rspam-User: X-HE-Tag: 1678391954-718527 X-HE-Meta: U2FsdGVkX19aMo/hgYnuDBDQDFGABhzmedXeY93lOelm9UbjONebkX7oOmFMRauNFVK4rNX/nEqCNRiIe5sSi55OM7ubnWhCyFoC3o5zIXu2YyKvnHSLHbzlLImYvhBZQgk5FSYhAn83d03CAb9VK/X5QgW4WX+lA2aenOZj89gajOBS99CTavZaH5IMw1kFFvY5FPOsfprMghHT9+tL4gTPBPHHr7Xlph0A3eau8H4+ZETJyDmqzGKYx7+XbutwTzOPxmXZtyxwQeZj+Cufo3677vS9r94ii2RicWVprLnSt4HZtIERNbBbsZC3rnJFPZCL1vVvp2Rg26DAdcxPBB/DP0Jy0Qo+MehGZDenLbUAPj+g7uA5jrY28hlX/NLrvStwnn8rI2SkS4tj5WPeE8Tok6nYiG9VbAj9SrAyB+4m+jB94W7HH7utr7yKluDzTKoKWgGSLpjPnF3aSwd/eJsW6w2aSWUrQ89jhS/rP+sCLJgqBVxY6jAs2x6lCN57ShWIc77xwt4bsc7bqa31F0Nuygzx1sVi8QEV7vEYLJyUs9eryLu2UXtBlj6ywdDiJdJqoyoDPkR44BrpPawWJFq/h5n12bmbSX1Pr1G8TyOQnFo6BY4MT/S2vaETuUp8wbpb67akKPza4c8VYo5dvWkc+vVDAvqn4zOIpz+re3GMbdPQP8S0gQI2XTVtoIYQsXMiFNKfgB3gWyMz8FjuIDE+xN2A5lJQbmjPTEqN501tPslrT/Rc0dmHU1rRX8x2p1f/3U5VCJ47ds0X5vAXHAq8/Uc19qpVeAiteuI3vuZ86jMu1lVqawB4J7U0nPz2vLw2o+vBJA22MozB5byN9y+ByvuB26ETuNZwk/dJCJ8eByuTf8BSQflTqOO10T7SKWCGWDn9OLlWyLvTwJtX2Rr/OntXiFWQUcaueFXd40Kbr4mXRqmjmwLM1cNj5ur7mMcthxIXJj4lZGUwe7a RPh7h0Ok gC4DQ8dEmVfaQ6Bxxg4ng8xbOO9gFE/uYtDY41nWN4JjbqPLwlZ0CC2ufZDKFaK5w5RN/Sa655RwEg1/XQOWmn8SFu2fgRPhQTYqdPOAf2+IszelsxB/PfUX0CH1ZiTsj7APGyGKlYf4OIb+TBk1AI6a1orz1K08zaeP9wKfG11f8qZv0TAxShf2Q2tyEbHlEdWlftoz4VEZSwkI5OhoTxeoExWSq6HKAIx/wjSK71GFshoULsattC23D20yjG9CxrrTnIItz71j9ObKpv4llhRwW8lMivnK6y6e/PLUCdoH6CMeLHjfd6YDpZA== 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 Wed, Mar 8, 2023 at 1:56=E2=80=AFPM Peter Xu wrote: > > On Tue, Mar 07, 2023 at 04:36:51PM -0800, James Houghton wrote: > > > > if (likely(!compound)) { > > > > + if (unlikely(folio_test_hugetlb(folio))) > > > > + VM_BUG_ON_PAGE(HPageVmemmapOptimized(&folio->= page), > > > > + page); > > How about moving folio_test_hugetlb() into the BUG_ON()? > > VM_BUG_ON_PAGE(folio_test_hugetlb(folio) && > HPageVmemmapOptimized(&folio->page), > page); > > Note that BUG_ON() already contains an "unlikely". Ok I can do that. It's a little cleaner. > > > > first =3D atomic_inc_and_test(&page->_mapcount); > > > > nr =3D first; > > > > if (first && folio_test_large(folio)) { > > > > nr =3D atomic_inc_return_relaxed(mapped); > > > > nr =3D (nr < COMPOUND_MAPPED); > > > > } > > > > - } else if (folio_test_pmd_mappable(folio)) { > > > > - /* That test is redundant: it's for safety or to opti= mize out */ > > > > > > I 'think' removing this check is OK. It would seem that the caller > > > knows if the folio is mappable. If we want a similar test, we might = be > > > able to use something like: > > > > > > arch_hugetlb_valid_size(folio_size(folio)) > > > > > > > Ack. I think leaving the check(s) removed is fine. > > Would it still be good to keep that as another BUG_ON()? Sure, that sounds reasonable to me. I'll add it unless someone disagrees. As you suggested in your other email, I'll also add a BUG_ON() if we attempt to do a non-compound mapping of a folio that is larger than COMPOUND_MAPPED / 2. (Maybe a BUG_ON() in alloc_hugetlb_folio() to check that the size of the folio we're allocating is less than COMPOUND_MAPPED / 2 makes sense instead. Just an idea.) - James