Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp444158pxb; Wed, 11 Nov 2020 07:33:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJwHK2nihZVOPao25kGx9SE6BD/Nnn6HGZ4BEB5Nv1+sne1U2JaYRReGmO7cojWyC16GcAPT X-Received: by 2002:a50:eb96:: with SMTP id y22mr5717038edr.116.1605108793057; Wed, 11 Nov 2020 07:33:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605108793; cv=none; d=google.com; s=arc-20160816; b=b8zb3ZeSMCYjFJtJwHmAacLjRNucqWi6p0Z+Ltqayqz4LCoESoicaUDAh4aQjvL+JR seLgYOA9cXQ3CyJjFr+Kpg9FHazrF331h9TotBukRv/fZ/IkR21tdoFTkLO2E020Ok21 Zz8lTobmMuqICYci3B80xFyRPV4a9v/ovuWrEtbQOr0caL0YSZW1oVy87csSgYqO1Xg1 rTnZVipylYwy/tHOUfgRqch7MovgHvGegjwTLgJay+vxZNlRJGSCeZSS1vQr+E3BAHgl oMGt43nwEDxZ9Mz1xrv8odnKiAOda6xVFxXZPDKqTs3waSnbGpbAboMImrsixSNPZcHE 6G/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=vxADKWsfDNlkWbQuA/V8yobZQ2kcfLFZo+4tJJGDR2s=; b=yPHHxDReL2uMnn6H5rplEEWC5FIEAlO+kbEEjwBlVpEqSRwgELi7cwTiD+DBIwTNO7 r/G8PZS+mR0pgguSBmuQzxvDYXuptcYpkDrbcVlxHxJ9XQ/URHq4CEd4vjYCqIrS2+gP g5t9yqbaX3ASqe/9mAmWAf+04mEobF4XSiIrB4sA23tIiOknpJcjOYl1a7m/KgBTFlxA lmlErwPVtSOLMAYWNXQ7b0oMG+2kDFFsE8QxyF/lndsUA5wrTBxxuSnBQ/9DigGqQ7d4 l+63D1n2an3bLFjE6KEjfF1bz14RvxSZzNxMdCFDdM0uwdg5074bfSey9kLxiOnmAj3T bASA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=qycWmBJW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d12si1608399ejj.237.2020.11.11.07.32.47; Wed, 11 Nov 2020 07:33:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=qycWmBJW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726923AbgKKPar (ORCPT + 99 others); Wed, 11 Nov 2020 10:30:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726136AbgKKPar (ORCPT ); Wed, 11 Nov 2020 10:30:47 -0500 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C465CC0613D1 for ; Wed, 11 Nov 2020 07:30:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=vxADKWsfDNlkWbQuA/V8yobZQ2kcfLFZo+4tJJGDR2s=; b=qycWmBJWdG4hYAYqpFqRTViuwU TUQ3ZQ/Owu6LcQauB0uqD2g/hE42gR/abd8NRjbICVnJvwhwCAJTyzIdyj+2cBhVaPAq4goXf6UkS c4W12C7kEieH28W+3lI68PR72I9Q03pzqs4qoAlQHqzWp0hXDnTbjfZN7oKL2O4Feq3eQLetlFtvX cabS1K0nR3ZvDxn6RU+UUs2pzo0dn5BR2u+GsfMi8+x4mlHsiCVnCGMNhXdD7Nz27SpJo/C8kPBul 8rqof+mDCJQkxCkXxhVQmYzGo/GHHwbeGgLjwVRFDEQJulI9g19Vy3cZhfGshvhNLOJcflK2iwsrZ qUsXGqIQ==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcs4k-0005b7-RU; Wed, 11 Nov 2020 15:30:22 +0000 Date: Wed, 11 Nov 2020 15:30:22 +0000 From: Matthew Wilcox To: Peter Zijlstra Cc: "Liang, Kan" , Will Deacon , Michael Ellerman , mingo@redhat.com, acme@kernel.org, linux-kernel@vger.kernel.org, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@redhat.com, eranian@google.com, ak@linux.intel.com, dave.hansen@intel.com, kirill.shutemov@linux.intel.com, benh@kernel.crashing.org, paulus@samba.org, David Miller , vbabka@suse.cz Subject: Re: [PATCH V9 1/4] perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE Message-ID: <20201111153022.GT17076@casper.infradead.org> References: <20201009090927.GQ2611@hirez.programming.kicks-ass.net> <877drz1qbc.fsf@mpe.ellerman.id.au> <20201012084829.GA1151@willie-the-truck> <20201013154615.GE2594@hirez.programming.kicks-ass.net> <20201013163449.GR2651@hirez.programming.kicks-ass.net> <8e88ba79-7c40-ea32-a7ed-bdc4fc04b2af@linux.intel.com> <20201111095750.GS2594@hirez.programming.kicks-ass.net> <20201111112246.GR2651@hirez.programming.kicks-ass.net> <20201111124357.GS2651@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201111124357.GS2651@hirez.programming.kicks-ass.net> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 11, 2020 at 01:43:57PM +0100, Peter Zijlstra wrote: > + if (pud_leaf(pud)) { > #ifdef pud_page > - page = pud_page(*pud); > - if (PageHuge(page)) > - return page_size(compound_head(page)); > + if (!pud_devmap(pud)) { > + page = pud_page(pud); > + if (PageHuge(page)) > + return page_size(compound_head(page)); > + } > #endif > return 1ULL << PUD_SHIFT; This confuses me. Why only special-case hugetlbfs pages here? Should they really be treated differently from THP? If you want to consider that we might be mapping a page that's twice as big as a PUD entry and this is only half of it, then the simple way is: if (pud_leaf(pud)) { #ifdef pud_page page = compound_head(pud_page(*pud)); return page_size(page); #else return 1ULL << PUD_SHIFT; #endif } Also, what's up with the special-casing of devmap pages here? Did the devmap people fuck up their compound pages? If so, they should fix their shit, not expect the rest of the kernel to work around this brokenness.