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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3EBD4C54E60 for ; Thu, 14 Mar 2024 14:09:49 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=eUUUPCHw; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=eUUUPCHw; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4TwTlv69Jbz3vZp for ; Fri, 15 Mar 2024 01:09:47 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=eUUUPCHw; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=eUUUPCHw; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=redhat.com (client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=peterx@redhat.com; receiver=lists.ozlabs.org) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4TwTl44FLyz3dHV for ; Fri, 15 Mar 2024 01:09:03 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710425340; h=from:from: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; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=eUUUPCHwLI87TuF9T4tgynGR2l98K59NC+DjzGG6EuLSmXZlPoS5pE3CzkqohYEXys1XT3 i+Ri1mPWQOBHQyf84ddyQztD/jO8q6dSyFx68kAob2Z9PIbrB2s6qd0IS+Zf/8mrVs9dbE 4pHtFwbuHNJI0lEtIGENcSH+ast1nQw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710425340; h=from:from: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; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=eUUUPCHwLI87TuF9T4tgynGR2l98K59NC+DjzGG6EuLSmXZlPoS5pE3CzkqohYEXys1XT3 i+Ri1mPWQOBHQyf84ddyQztD/jO8q6dSyFx68kAob2Z9PIbrB2s6qd0IS+Zf/8mrVs9dbE 4pHtFwbuHNJI0lEtIGENcSH+ast1nQw= Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-681-OI6MakTNPWC4MHP1LjIiiw-1; Thu, 14 Mar 2024 10:08:58 -0400 X-MC-Unique: OI6MakTNPWC4MHP1LjIiiw-1 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-690ab2b0de1so3111866d6.0 for ; Thu, 14 Mar 2024 07:08:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710425337; x=1711030137; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=Cq6Vz7mrcmWHanUvB6cVHwhUY9E9QsG5KUxD1ea6GfTbdekjtvJxoNIW5zBmCwx/28 cIixoInlceeNaNT2MTNwiCeeuNW1u033mpceg6qmm2cDR5+bhAmEl8pw60wGQUfGnugo viW30KFAoFWsrVZuaA7LDnq+UdcP9y+iNz8c5+IlbtttJuvt3GT7Lvda/8VYODKRm4Qy 0jyO0gEa61dIybgKM3fceydaVcmmVw3g//EmDp8XBOtXDzB6bTpxCpLXsCfZCAmnDB48 fKewVYBxtpj+x6+K8iRKNWCUbl1RDDAXEy8B8KLfi9U9hz1y2Luj4RO6YsN3nRKefdlH KKtw== X-Forwarded-Encrypted: i=1; AJvYcCVVuonBu60hVEs+WGPBu0RbATee/HGcNyXPzudAuNdUdMGt2DuJ4jaQjTZkowWqFz36JEGLin2UIX3XjZFNY9IcKhaTgsrv9S0gSfHYaA== X-Gm-Message-State: AOJu0YycBY/hWU1OfwN0EhUFSpRyGtosb8DLnC9P1PYW/UQw9iciYCoU rgTaZhGrHtruiZISUogBLbWXSnUDsQYokNa7mIMfue7BQD9/MuP+ul/066worqUWIVNUvdxjlqy nDskQfRQ4mG/3NErh2mjpG05Ul5fX3S7iixMRg8Gpa592Sl9UBbw4fIZSG9SOvRY= X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1930032qvb.1.1710425336508; Thu, 14 Mar 2024 07:08:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHucQiNsYz/grbilWzCKNHDTJ2JNCr8u+qXqtyrFQdPGNDAiC8YJGtZ0KjeTmr272RirFzDNA== X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1929810qvb.1.1710425332941; Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Received: from x1n ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id eq9-20020ad45969000000b0069155a36f67sm499868qvb.9.2024.03.14.07.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Date: Thu, 14 Mar 2024 10:08:50 -0400 From: Peter Xu To: Christophe Leroy Subject: Re: [PATCH 12/13] mm/treewide: Remove pXd_huge() Message-ID: References: <20240313214719.253873-1-peterx@redhat.com> <20240313214719.253873-13-peterx@redhat.com> <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> MIME-Version: 1.0 In-Reply-To: <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Muchun Song , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , Matthew Wilcox , "linux-mm@kvack.org" , Mike Rapoport , Jason Gunthorpe , "sparclinux@vger.kernel.org" , Andrew Morton , "linuxppc-dev@lists.ozlabs.org" , "linux-arm-kernel@lists.infradead.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Thu, Mar 14, 2024 at 08:56:59AM +0000, Christophe Leroy wrote: > > > Le 13/03/2024 à 22:47, peterx@redhat.com a écrit : > > From: Peter Xu > > > > This API is not used anymore, drop it for the whole tree. > > > > Signed-off-by: Peter Xu > > --- > > arch/arm/mm/Makefile | 1 - > > arch/arm/mm/hugetlbpage.c | 29 ------------------- > > arch/arm64/mm/hugetlbpage.c | 10 ------- > > arch/loongarch/mm/hugetlbpage.c | 10 ------- > > arch/mips/include/asm/pgtable-32.h | 2 +- > > arch/mips/include/asm/pgtable-64.h | 2 +- > > arch/mips/mm/hugetlbpage.c | 10 ------- > > arch/parisc/mm/hugetlbpage.c | 11 ------- > > .../include/asm/book3s/64/pgtable-4k.h | 10 ------- > > .../include/asm/book3s/64/pgtable-64k.h | 25 ---------------- > > arch/powerpc/include/asm/nohash/pgtable.h | 10 ------- > > arch/riscv/mm/hugetlbpage.c | 10 ------- > > arch/s390/mm/hugetlbpage.c | 10 ------- > > arch/sh/mm/hugetlbpage.c | 10 ------- > > arch/sparc/mm/hugetlbpage.c | 10 ------- > > arch/x86/mm/hugetlbpage.c | 16 ---------- > > include/linux/hugetlb.h | 24 --------------- > > 17 files changed, 2 insertions(+), 198 deletions(-) > > delete mode 100644 arch/arm/mm/hugetlbpage.c > > > > > diff --git a/arch/mips/include/asm/pgtable-32.h b/arch/mips/include/asm/pgtable-32.h > > index 0e196650f4f4..92b7591aac2a 100644 > > --- a/arch/mips/include/asm/pgtable-32.h > > +++ b/arch/mips/include/asm/pgtable-32.h > > @@ -129,7 +129,7 @@ static inline int pmd_none(pmd_t pmd) > > static inline int pmd_bad(pmd_t pmd) > > { > > #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT > > - /* pmd_huge(pmd) but inline */ > > + /* pmd_leaf(pmd) but inline */ > > Shouldn't this comment have been changed in patch 11 ? IMHO it's fine to be here, as this is the patch to finally drop _huge(). Patch 11 only converts the callers to use _leaf()s. So this comment is still valid until this patch, because this patch removes that definition. > > > if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) > > Unlike pmd_huge() which is an outline function, pmd_leaf() is a macro so > it could be used here instead of open coping. I worry it will break things as pmd_leaf() can sometimes be defined after arch *pgtable.h headers. So I avoided touching it except what I think I'm confident. I had a feeling it's inlined just because of a similar reason for the old _huge(). > > > return 0; > > #endif > > diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h > > index 20ca48c1b606..7c28510b3768 100644 > > --- a/arch/mips/include/asm/pgtable-64.h > > +++ b/arch/mips/include/asm/pgtable-64.h > > @@ -245,7 +245,7 @@ static inline int pmd_none(pmd_t pmd) > > static inline int pmd_bad(pmd_t pmd) > > { > > #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT > > - /* pmd_huge(pmd) but inline */ > > + /* pmd_leaf(pmd) but inline */ > > Same > > > if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) > > Same > > > return 0; > > #endif > > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > index 2fce3498b000..579a7153857f 100644 > > --- a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > +++ b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > @@ -4,31 +4,6 @@ > > > > #ifndef __ASSEMBLY__ > > #ifdef CONFIG_HUGETLB_PAGE > > -/* > > - * We have PGD_INDEX_SIZ = 12 and PTE_INDEX_SIZE = 8, so that we can have > > - * 16GB hugepage pte in PGD and 16MB hugepage pte at PMD; > > - * > > - * Defined in such a way that we can optimize away code block at build time > > - * if CONFIG_HUGETLB_PAGE=n. > > - * > > - * returns true for pmd migration entries, THP, devmap, hugetlb > > - * But compile time dependent on CONFIG_HUGETLB_PAGE > > - */ > > Should we keep this comment somewhere for documentation ? The 2nd/3rd paragraphs are definitely obsolete, so should be dropped. OTOH, I'm not sure how much that will help if e.g. I move that over to pmd_leaf(): a check over cpu_to_be64(_PAGE_PTE) is an implementation as simple as it could be to explain itself with even no comment to me.. I also don't fully digest why that 1st paragraph discusses PGD entries: for example, there's no pgd_huge() defined. It may not mean that the comment is wrong, perhaps it means that I may lack some knowledge around this area on Power.. Would you suggest how I should move paragraph 1 (and help to explain what it is describing)? Or maybe we can provide a separate patch for Power's huge page sizes but posted separately (and very possibly I'm not the best candidate then..). > > > -static inline int pmd_huge(pmd_t pmd) > > -{ > > - /* > > - * leaf pte for huge page > > - */ > > - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); > > -} > > - > > -static inline int pud_huge(pud_t pud) > > -{ > > - /* > > - * leaf pte for huge page > > - */ > > - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > > -} > > > > /* > > * With 64k page size, we have hugepage ptes in the pgd and pmd entries. We don't -- Peter Xu From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6C6F6CDD7 for ; Thu, 14 Mar 2024 14:09:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710425342; cv=none; b=rc5hCW9GJ9SQLoAAwfDq/h19Xp8GTMmKwjD5uInb3EiXxcCR9gBGHCrZFhDogA79qnAzKlkbXGtjNNlMilHuOXxdaxcjndb1UIMLA0nTJBlpLTggjPfkBVwSaxVURU1eOw7PVHCvH5kkPL1cS1wERI4DSE8yiy1062nYXuekoBc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710425342; c=relaxed/simple; bh=Z0ILnZeNBHrRrotQP/MGhhY17p/IzYz2MVEg1mCXeQ4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kzeS+7w4br5TImrlV/r6NsMKYh0fVjFBmhxbJF5+3XLuONSX036Bgcfhgx1neEm/oOQx2mYSgkHyVS1uIabGpXlD4h78i74R+EzRd46YjBce/RhD9LWUMRTdnUko1c4zHFJXHZhwa554hV5JI3pJR154wgXOoBiP26f2hGOyXE0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ETUK4psn; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ETUK4psn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710425339; h=from:from: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; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=ETUK4psn3Asc5IGuCN8XF7Dk7AygTR7DEVSzbLgqrcG7FYY2kgYDtz5q/ccuge4Ul6cTO1 TcyYjU/atSLAqLbOiHwD4wXdCDYQ7zafcFmGxu3B3p8g0h/ZjYJhDRHUgc2UBx9DpGCAaE xaXZdTXZbF3iGl4bvgpnZAbECkhaf0U= Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-122-gf0y0Dv6M22lWYurCKLv_A-1; Thu, 14 Mar 2024 10:08:58 -0400 X-MC-Unique: gf0y0Dv6M22lWYurCKLv_A-1 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-69120b349c9so3075866d6.1 for ; Thu, 14 Mar 2024 07:08:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710425338; x=1711030138; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=vGtyO77auwJDSpKJq2HtMVhRKd1hPstZN5486x3G1B5N3/Ho2Q4K45LxcsaUiGO3ka cY4+0bla/PKyXogn+RzMcrBYijlGTwI2SjIugqAZIFb54Ev4aWtY5DWLoodwdxgLDh11 xxuOigiHUAN4Zv+2D97Qy2F3L3/aTAHINwtOhhJZSZAbdZbwfN/a7iEO3t8j1Np4qZtn UeRdcC/3l4zABN9id46eJ/oebvxguhrS++ab3f0Z56ihUyRORq3St5UMIJV93ESN5csR 28mrERsr5J9q3VyyqTnuijxKaD0Tvd8Xxlwnp+sQyFNWLLLh0yBmOfHceCLDchIjmM64 E2Wg== X-Forwarded-Encrypted: i=1; AJvYcCXQWsQVQOheNSli1zxj2f9oQpWHpxWk79eFdVcKlVcNJLsmdUTwed0HsmFpmJ+Rw9Zc0K38OYrUBV5HyUkFnyZiXTw+mwkN2FdgJg== X-Gm-Message-State: AOJu0YxvKUs7vxQY+gEwUvT5gRZqcUb1zB6H1UaNrOG3zjm/hErG6Pnc Rt9l637V5OSHslO8BUhXmN2CF2lwkIFoxG4QO/yD1UBIozd/yq41e5Gtg8UOJVL74vLm6efENBO 1lsNmOs0vyXFABTqyJZ+Dvk7pGumcGc+gmxIktWSq/CZ22DELTD7UWZSc6DM= X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1930025qvb.1.1710425336427; Thu, 14 Mar 2024 07:08:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHucQiNsYz/grbilWzCKNHDTJ2JNCr8u+qXqtyrFQdPGNDAiC8YJGtZ0KjeTmr272RirFzDNA== X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1929810qvb.1.1710425332941; Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Received: from x1n ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id eq9-20020ad45969000000b0069155a36f67sm499868qvb.9.2024.03.14.07.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Date: Thu, 14 Mar 2024 10:08:50 -0400 From: Peter Xu To: Christophe Leroy Cc: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , Matthew Wilcox , "linuxppc-dev@lists.ozlabs.org" , Andrew Morton , "x86@kernel.org" , Mike Rapoport , Muchun Song , "sparclinux@vger.kernel.org" , Jason Gunthorpe Subject: Re: [PATCH 12/13] mm/treewide: Remove pXd_huge() Message-ID: References: <20240313214719.253873-1-peterx@redhat.com> <20240313214719.253873-13-peterx@redhat.com> <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> Precedence: bulk X-Mailing-List: sparclinux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> On Thu, Mar 14, 2024 at 08:56:59AM +0000, Christophe Leroy wrote: > > > Le 13/03/2024 à 22:47, peterx@redhat.com a écrit : > > From: Peter Xu > > > > This API is not used anymore, drop it for the whole tree. > > > > Signed-off-by: Peter Xu > > --- > > arch/arm/mm/Makefile | 1 - > > arch/arm/mm/hugetlbpage.c | 29 ------------------- > > arch/arm64/mm/hugetlbpage.c | 10 ------- > > arch/loongarch/mm/hugetlbpage.c | 10 ------- > > arch/mips/include/asm/pgtable-32.h | 2 +- > > arch/mips/include/asm/pgtable-64.h | 2 +- > > arch/mips/mm/hugetlbpage.c | 10 ------- > > arch/parisc/mm/hugetlbpage.c | 11 ------- > > .../include/asm/book3s/64/pgtable-4k.h | 10 ------- > > .../include/asm/book3s/64/pgtable-64k.h | 25 ---------------- > > arch/powerpc/include/asm/nohash/pgtable.h | 10 ------- > > arch/riscv/mm/hugetlbpage.c | 10 ------- > > arch/s390/mm/hugetlbpage.c | 10 ------- > > arch/sh/mm/hugetlbpage.c | 10 ------- > > arch/sparc/mm/hugetlbpage.c | 10 ------- > > arch/x86/mm/hugetlbpage.c | 16 ---------- > > include/linux/hugetlb.h | 24 --------------- > > 17 files changed, 2 insertions(+), 198 deletions(-) > > delete mode 100644 arch/arm/mm/hugetlbpage.c > > > > > diff --git a/arch/mips/include/asm/pgtable-32.h b/arch/mips/include/asm/pgtable-32.h > > index 0e196650f4f4..92b7591aac2a 100644 > > --- a/arch/mips/include/asm/pgtable-32.h > > +++ b/arch/mips/include/asm/pgtable-32.h > > @@ -129,7 +129,7 @@ static inline int pmd_none(pmd_t pmd) > > static inline int pmd_bad(pmd_t pmd) > > { > > #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT > > - /* pmd_huge(pmd) but inline */ > > + /* pmd_leaf(pmd) but inline */ > > Shouldn't this comment have been changed in patch 11 ? IMHO it's fine to be here, as this is the patch to finally drop _huge(). Patch 11 only converts the callers to use _leaf()s. So this comment is still valid until this patch, because this patch removes that definition. > > > if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) > > Unlike pmd_huge() which is an outline function, pmd_leaf() is a macro so > it could be used here instead of open coping. I worry it will break things as pmd_leaf() can sometimes be defined after arch *pgtable.h headers. So I avoided touching it except what I think I'm confident. I had a feeling it's inlined just because of a similar reason for the old _huge(). > > > return 0; > > #endif > > diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h > > index 20ca48c1b606..7c28510b3768 100644 > > --- a/arch/mips/include/asm/pgtable-64.h > > +++ b/arch/mips/include/asm/pgtable-64.h > > @@ -245,7 +245,7 @@ static inline int pmd_none(pmd_t pmd) > > static inline int pmd_bad(pmd_t pmd) > > { > > #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT > > - /* pmd_huge(pmd) but inline */ > > + /* pmd_leaf(pmd) but inline */ > > Same > > > if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) > > Same > > > return 0; > > #endif > > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > index 2fce3498b000..579a7153857f 100644 > > --- a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > +++ b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h > > @@ -4,31 +4,6 @@ > > > > #ifndef __ASSEMBLY__ > > #ifdef CONFIG_HUGETLB_PAGE > > -/* > > - * We have PGD_INDEX_SIZ = 12 and PTE_INDEX_SIZE = 8, so that we can have > > - * 16GB hugepage pte in PGD and 16MB hugepage pte at PMD; > > - * > > - * Defined in such a way that we can optimize away code block at build time > > - * if CONFIG_HUGETLB_PAGE=n. > > - * > > - * returns true for pmd migration entries, THP, devmap, hugetlb > > - * But compile time dependent on CONFIG_HUGETLB_PAGE > > - */ > > Should we keep this comment somewhere for documentation ? The 2nd/3rd paragraphs are definitely obsolete, so should be dropped. OTOH, I'm not sure how much that will help if e.g. I move that over to pmd_leaf(): a check over cpu_to_be64(_PAGE_PTE) is an implementation as simple as it could be to explain itself with even no comment to me.. I also don't fully digest why that 1st paragraph discusses PGD entries: for example, there's no pgd_huge() defined. It may not mean that the comment is wrong, perhaps it means that I may lack some knowledge around this area on Power.. Would you suggest how I should move paragraph 1 (and help to explain what it is describing)? Or maybe we can provide a separate patch for Power's huge page sizes but posted separately (and very possibly I'm not the best candidate then..). > > > -static inline int pmd_huge(pmd_t pmd) > > -{ > > - /* > > - * leaf pte for huge page > > - */ > > - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); > > -} > > - > > -static inline int pud_huge(pud_t pud) > > -{ > > - /* > > - * leaf pte for huge page > > - */ > > - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > > -} > > > > /* > > * With 64k page size, we have hugepage ptes in the pgd and pmd entries. We don't -- Peter Xu 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5D076C54E60 for ; Thu, 14 Mar 2024 14:09:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=O5xHgCtOhj3cwKaBw6qHqxwWReJrzpGO4ebH73/GGuM=; b=hrv6UHCFlLJvVo tRM6Eh9hJpW76R4DNLdU2hsIgsy/V8qMHFAwCf762JsM0vND/B3WF8ZCqye/KFnZhMoczRuzKy1E4 uB/LBdBAynkdTh5gHYKj8Oa+nmsHbUh9U7pTbLH8e/FflX0UjnFDVDl13WkMatZvHKADfssHvBHfN c13p+mYXRQCfuSNuIoHwNQCewcZlprQVMs9v7ivpPW4Z00oqZnb2Z0bqCMPdHYY+vLPuVEdxO/xpu 1nSEauLXiF0ugGbEwZoWSHRpVGqr5MuP/VsltekEbexmWEMCogXTLeBDvXsNtJDrW8WBGkneZqrUB r4XwwyiP3Btfka8p8S7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkllY-0000000EZSU-2UEZ; Thu, 14 Mar 2024 14:09:04 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkllU-0000000EZQL-3SuJ for linux-arm-kernel@lists.infradead.org; Thu, 14 Mar 2024 14:09:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710425339; h=from:from: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; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=ETUK4psn3Asc5IGuCN8XF7Dk7AygTR7DEVSzbLgqrcG7FYY2kgYDtz5q/ccuge4Ul6cTO1 TcyYjU/atSLAqLbOiHwD4wXdCDYQ7zafcFmGxu3B3p8g0h/ZjYJhDRHUgc2UBx9DpGCAaE xaXZdTXZbF3iGl4bvgpnZAbECkhaf0U= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-688-IwjguOCnMNSzim182yBAdQ-1; Thu, 14 Mar 2024 10:08:58 -0400 X-MC-Unique: IwjguOCnMNSzim182yBAdQ-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-69120b349c9so3075856d6.1 for ; Thu, 14 Mar 2024 07:08:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710425337; x=1711030137; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=ciKDM4mK8N2BFVeK151PeFCol43JdoVjqk+rg+VKMLlduQp5wLn5G4H/yTavLeKYNs VSWq8ubNwxGCCr9204chZ1z3ODLke4LVtbsi8qHINyrj+jhAQ9RR/Yqz0Hx25dI+K82r 48OOiHYf6kC42DK6FaWUKjKhq/msJEGW/PAwv7eHFRhb4oYVHR8UUaxWuqxoXphHanlW GFKHml7tU3PBVGsU4K9cVKBHPofahrEGgaiyaS6pm0Tb//gvBu4vj6Uz9cFQ2udhBAh0 hRBRTXptABauONUdXTWWzHUrZ6Kln5q70qR+Xkr0wqUEkM4NwzbtjAX6oT4anmz1gCge oLyg== X-Forwarded-Encrypted: i=1; AJvYcCXkzkDZ8UCZiDbH3xuSnJ2sjkKeWhXcp/SKHoGPwLZlLKuJpQPT2hOScbaVSKOEUhCLJWl5Idr2xUEQef/S/EBhKlzcp652sP5iqqpdZpRm6Gr8Jho= X-Gm-Message-State: AOJu0YxW0CtJhiv8/in9oSwEJuUQXS3q0OJ7Y5jN9iKMSbahLQ8+3+Gp pShn1MrnX/CHEd/gvFgqHKF2u1v0Vjh8J/Nzf37HZqSEghHX4aOqcKl7Lgb6UztZJCJcbvBD3UG nvkBx82kNaNBdGlhGX9FaT4HLwE1OFiyt9yA9jG3DlBu7aixfLoDoeQQrpehou6eAXiOZ5S9y X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1930008qvb.1.1710425336160; Thu, 14 Mar 2024 07:08:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHucQiNsYz/grbilWzCKNHDTJ2JNCr8u+qXqtyrFQdPGNDAiC8YJGtZ0KjeTmr272RirFzDNA== X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1929810qvb.1.1710425332941; Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Received: from x1n ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id eq9-20020ad45969000000b0069155a36f67sm499868qvb.9.2024.03.14.07.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Date: Thu, 14 Mar 2024 10:08:50 -0400 From: Peter Xu To: Christophe Leroy Cc: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , Matthew Wilcox , "linuxppc-dev@lists.ozlabs.org" , Andrew Morton , "x86@kernel.org" , Mike Rapoport , Muchun Song , "sparclinux@vger.kernel.org" , Jason Gunthorpe Subject: Re: [PATCH 12/13] mm/treewide: Remove pXd_huge() Message-ID: References: <20240313214719.253873-1-peterx@redhat.com> <20240313214719.253873-13-peterx@redhat.com> <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> MIME-Version: 1.0 In-Reply-To: <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240314_070900_994388_C9B4A114 X-CRM114-Status: GOOD ( 32.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBNYXIgMTQsIDIwMjQgYXQgMDg6NTY6NTlBTSArMDAwMCwgQ2hyaXN0b3BoZSBMZXJv eSB3cm90ZToKPiAKPiAKPiBMZSAxMy8wMy8yMDI0IMOgIDIyOjQ3LCBwZXRlcnhAcmVkaGF0LmNv bSBhIMOpY3JpdMKgOgo+ID4gRnJvbTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgo+ID4g Cj4gPiBUaGlzIEFQSSBpcyBub3QgdXNlZCBhbnltb3JlLCBkcm9wIGl0IGZvciB0aGUgd2hvbGUg dHJlZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29t Pgo+ID4gLS0tCj4gPiAgIGFyY2gvYXJtL21tL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxIC0KPiA+ICAgYXJjaC9hcm0vbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAgICAg ICAgICAgIHwgMjkgLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICBhcmNoL2FybTY0L21tL2h1Z2V0 bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgfCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gvbG9vbmdh cmNoL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgYXJj aC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUtMzIuaCAgICAgICAgICAgIHwgIDIgKy0KPiA+ICAg YXJjaC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUtNjQuaCAgICAgICAgICAgIHwgIDIgKy0KPiA+ ICAgYXJjaC9taXBzL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgIHwgMTAgLS0t LS0tLQo+ID4gICBhcmNoL3BhcmlzYy9tbS9odWdldGxicGFnZS5jICAgICAgICAgICAgICAgICAg fCAxMSAtLS0tLS0tCj4gPiAgIC4uLi9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS00ay5o ICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgLi4uL2luY2x1ZGUvYXNtL2Jvb2szcy82NC9wZ3Rh YmxlLTY0ay5oICAgICAgIHwgMjUgLS0tLS0tLS0tLS0tLS0tLQo+ID4gICBhcmNoL3Bvd2VycGMv aW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaCAgICAgfCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gv cmlzY3YvbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAgICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ ICAgYXJjaC9zMzkwL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgIHwgMTAgLS0t LS0tLQo+ID4gICBhcmNoL3NoL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgICAg fCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gvc3BhcmMvbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAg ICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgYXJjaC94ODYvbW0vaHVnZXRsYnBhZ2UuYyAgICAg ICAgICAgICAgICAgICAgIHwgMTYgLS0tLS0tLS0tLQo+ID4gICBpbmNsdWRlL2xpbnV4L2h1Z2V0 bGIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAyNCAtLS0tLS0tLS0tLS0tLS0KPiA+ICAgMTcg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxOTggZGVsZXRpb25zKC0pCj4gPiAgIGRl bGV0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9tbS9odWdldGxicGFnZS5jCj4gPiAKPiAKPiA+IGRp ZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5oIGIvYXJjaC9taXBz L2luY2x1ZGUvYXNtL3BndGFibGUtMzIuaAo+ID4gaW5kZXggMGUxOTY2NTBmNGY0Li45MmI3NTkx YWFjMmEgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5o Cj4gPiArKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5oCj4gPiBAQCAtMTI5 LDcgKzEyOSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF9ub25lKHBtZF90IHBtZCkKPiA+ICAg c3RhdGljIGlubGluZSBpbnQgcG1kX2JhZChwbWRfdCBwbWQpCj4gPiAgIHsKPiA+ICAgI2lmZGVm IENPTkZJR19NSVBTX0hVR0VfVExCX1NVUFBPUlQKPiA+IC0JLyogcG1kX2h1Z2UocG1kKSBidXQg aW5saW5lICovCj4gPiArCS8qIHBtZF9sZWFmKHBtZCkgYnV0IGlubGluZSAqLwo+IAo+IFNob3Vs ZG4ndCB0aGlzIGNvbW1lbnQgaGF2ZSBiZWVuIGNoYW5nZWQgaW4gcGF0Y2ggMTEgPwoKSU1ITyBp dCdzIGZpbmUgdG8gYmUgaGVyZSwgYXMgdGhpcyBpcyB0aGUgcGF0Y2ggdG8gZmluYWxseSBkcm9w IF9odWdlKCkuClBhdGNoIDExIG9ubHkgY29udmVydHMgdGhlIGNhbGxlcnMgdG8gdXNlIF9sZWFm KClzLiAgU28gdGhpcyBjb21tZW50IGlzCnN0aWxsIHZhbGlkIHVudGlsIHRoaXMgcGF0Y2gsIGJl Y2F1c2UgdGhpcyBwYXRjaCByZW1vdmVzIHRoYXQgZGVmaW5pdGlvbi4KCj4gCj4gPiAgIAlpZiAo dW5saWtlbHkocG1kX3ZhbChwbWQpICYgX1BBR0VfSFVHRSkpCj4gCj4gVW5saWtlIHBtZF9odWdl KCkgd2hpY2ggaXMgYW4gb3V0bGluZSBmdW5jdGlvbiwgcG1kX2xlYWYoKSBpcyBhIG1hY3JvIHNv IAo+IGl0IGNvdWxkIGJlIHVzZWQgaGVyZSBpbnN0ZWFkIG9mIG9wZW4gY29waW5nLgoKSSB3b3Jy eSBpdCB3aWxsIGJyZWFrIHRoaW5ncyBhcyBwbWRfbGVhZigpIGNhbiBzb21ldGltZXMgYmUgZGVm aW5lZCBhZnRlcgphcmNoICpwZ3RhYmxlLmggaGVhZGVycy4gIFNvIEkgYXZvaWRlZCB0b3VjaGlu ZyBpdCBleGNlcHQgd2hhdCBJIHRoaW5rIEknbQpjb25maWRlbnQuICBJIGhhZCBhIGZlZWxpbmcg aXQncyBpbmxpbmVkIGp1c3QgYmVjYXVzZSBvZiBhIHNpbWlsYXIgcmVhc29uCmZvciB0aGUgb2xk IF9odWdlKCkuCgo+IAo+ID4gICAJCXJldHVybiAwOwo+ID4gICAjZW5kaWYKPiA+IGRpZmYgLS1n aXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oIGIvYXJjaC9taXBzL2luY2x1 ZGUvYXNtL3BndGFibGUtNjQuaAo+ID4gaW5kZXggMjBjYTQ4YzFiNjA2Li43YzI4NTEwYjM3Njgg MTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oCj4gPiAr KysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oCj4gPiBAQCAtMjQ1LDcgKzI0 NSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF9ub25lKHBtZF90IHBtZCkKPiA+ICAgc3RhdGlj IGlubGluZSBpbnQgcG1kX2JhZChwbWRfdCBwbWQpCj4gPiAgIHsKPiA+ICAgI2lmZGVmIENPTkZJ R19NSVBTX0hVR0VfVExCX1NVUFBPUlQKPiA+IC0JLyogcG1kX2h1Z2UocG1kKSBidXQgaW5saW5l ICovCj4gPiArCS8qIHBtZF9sZWFmKHBtZCkgYnV0IGlubGluZSAqLwo+IAo+IFNhbWUKPiAKPiA+ ICAgCWlmICh1bmxpa2VseShwbWRfdmFsKHBtZCkgJiBfUEFHRV9IVUdFKSkKPiAKPiBTYW1lCj4g Cj4gPiAgIAkJcmV0dXJuIDA7Cj4gPiAgICNlbmRpZgo+IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gv cG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaCBiL2FyY2gvcG93ZXJw Yy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaAo+ID4gaW5kZXggMmZjZTM0OThi MDAwLi41NzlhNzE1Mzg1N2YgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9h c20vYm9vazNzLzY0L3BndGFibGUtNjRrLmgKPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaAo+ID4gQEAgLTQsMzEgKzQsNiBAQAo+ID4gICAK PiA+ICAgI2lmbmRlZiBfX0FTU0VNQkxZX18KPiA+ICAgI2lmZGVmIENPTkZJR19IVUdFVExCX1BB R0UKPiA+IC0vKgo+ID4gLSAqIFdlIGhhdmUgUEdEX0lOREVYX1NJWiA9IDEyIGFuZCBQVEVfSU5E RVhfU0laRSA9IDgsIHNvIHRoYXQgd2UgY2FuIGhhdmUKPiA+IC0gKiAxNkdCIGh1Z2VwYWdlIHB0 ZSBpbiBQR0QgYW5kIDE2TUIgaHVnZXBhZ2UgcHRlIGF0IFBNRDsKPiA+IC0gKgo+ID4gLSAqIERl ZmluZWQgaW4gc3VjaCBhIHdheSB0aGF0IHdlIGNhbiBvcHRpbWl6ZSBhd2F5IGNvZGUgYmxvY2sg YXQgYnVpbGQgdGltZQo+ID4gLSAqIGlmIENPTkZJR19IVUdFVExCX1BBR0U9bi4KPiA+IC0gKgo+ ID4gLSAqIHJldHVybnMgdHJ1ZSBmb3IgcG1kIG1pZ3JhdGlvbiBlbnRyaWVzLCBUSFAsIGRldm1h cCwgaHVnZXRsYgo+ID4gLSAqIEJ1dCBjb21waWxlIHRpbWUgZGVwZW5kZW50IG9uIENPTkZJR19I VUdFVExCX1BBR0UKPiA+IC0gKi8KPiAKPiBTaG91bGQgd2Uga2VlcCB0aGlzIGNvbW1lbnQgc29t ZXdoZXJlIGZvciBkb2N1bWVudGF0aW9uID8KClRoZSAybmQvM3JkIHBhcmFncmFwaHMgYXJlIGRl ZmluaXRlbHkgb2Jzb2xldGUsIHNvIHNob3VsZCBiZSBkcm9wcGVkLgoKT1RPSCwgSSdtIG5vdCBz dXJlIGhvdyBtdWNoIHRoYXQgd2lsbCBoZWxwIGlmIGUuZy4gSSBtb3ZlIHRoYXQgb3ZlciB0bwpw bWRfbGVhZigpOiBhIGNoZWNrIG92ZXIgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSBpcyBhbiBpbXBs ZW1lbnRhdGlvbiBhcwpzaW1wbGUgYXMgaXQgY291bGQgYmUgdG8gZXhwbGFpbiBpdHNlbGYgd2l0 aCBldmVuIG5vIGNvbW1lbnQgdG8gbWUuLgoKSSBhbHNvIGRvbid0IGZ1bGx5IGRpZ2VzdCB3aHkg dGhhdCAxc3QgcGFyYWdyYXBoIGRpc2N1c3NlcyBQR0QgZW50cmllczogZm9yCmV4YW1wbGUsIHRo ZXJlJ3Mgbm8gcGdkX2h1Z2UoKSBkZWZpbmVkLiAgSXQgbWF5IG5vdCBtZWFuIHRoYXQgdGhlIGNv bW1lbnQKaXMgd3JvbmcsIHBlcmhhcHMgaXQgbWVhbnMgdGhhdCBJIG1heSBsYWNrIHNvbWUga25v d2xlZGdlIGFyb3VuZCB0aGlzIGFyZWEKb24gUG93ZXIuLgoKV291bGQgeW91IHN1Z2dlc3QgaG93 IEkgc2hvdWxkIG1vdmUgcGFyYWdyYXBoIDEgKGFuZCBoZWxwIHRvIGV4cGxhaW4gd2hhdAppdCBp cyBkZXNjcmliaW5nKT8gIE9yIG1heWJlIHdlIGNhbiBwcm92aWRlIGEgc2VwYXJhdGUgcGF0Y2gg Zm9yIFBvd2VyJ3MKaHVnZSBwYWdlIHNpemVzIGJ1dCBwb3N0ZWQgc2VwYXJhdGVseSAoYW5kIHZl cnkgcG9zc2libHkgSSdtIG5vdCB0aGUgYmVzdApjYW5kaWRhdGUgdGhlbi4uKS4KCj4gCj4gPiAt c3RhdGljIGlubGluZSBpbnQgcG1kX2h1Z2UocG1kX3QgcG1kKQo+ID4gLXsKPiA+IC0JLyoKPiA+ IC0JICogbGVhZiBwdGUgZm9yIGh1Z2UgcGFnZQo+ID4gLQkgKi8KPiA+IC0JcmV0dXJuICEhKHBt ZF9yYXcocG1kKSAmIGNwdV90b19iZTY0KF9QQUdFX1BURSkpOwo+ID4gLX0KPiA+IC0KPiA+IC1z dGF0aWMgaW5saW5lIGludCBwdWRfaHVnZShwdWRfdCBwdWQpCj4gPiAtewo+ID4gLQkvKgo+ID4g LQkgKiBsZWFmIHB0ZSBmb3IgaHVnZSBwYWdlCj4gPiAtCSAqLwo+ID4gLQlyZXR1cm4gISEocHVk X3JhdyhwdWQpICYgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSk7Cj4gPiAtfQo+ID4gICAKPiA+ICAg LyoKPiA+ICAgICogV2l0aCA2NGsgcGFnZSBzaXplLCB3ZSBoYXZlIGh1Z2VwYWdlIHB0ZXMgaW4g dGhlIHBnZCBhbmQgcG1kIGVudHJpZXMuIFdlIGRvbid0CgotLSAKUGV0ZXIgWHUKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==