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 6C2EBD2A523 for ; Wed, 16 Oct 2024 14:40:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E99BE6B007B; Wed, 16 Oct 2024 10:40:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E49F16B0083; Wed, 16 Oct 2024 10:40:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D39356B0089; Wed, 16 Oct 2024 10:40:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B68976B007B for ; Wed, 16 Oct 2024 10:40:49 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 86DA01A04B6 for ; Wed, 16 Oct 2024 14:40:31 +0000 (UTC) X-FDA: 82679726514.20.343CEE0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf03.hostedemail.com (Postfix) with ESMTP id 44C762001E for ; Wed, 16 Oct 2024 14:40:43 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf03.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729089530; a=rsa-sha256; cv=none; b=fZYsI5AQ6WhLL6z3ZvExpx+AKMhN4/iUj3x//MGK9N7DaMN9lNVXYUzGKf5rgyJYfGJATu d2fooskHmRVuA0qkymnSxL1Zj+FnbpMs7qFIBTjZ2P5ok9ESpoC5/fIp8dDsCR++Ul1PZY UX57o97UH4fZCzKx1aPo73LdJFhFMOw= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf03.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729089530; 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; bh=R6/JnoOaQl4y/L74bF1HW015d2yf2ALAwQ0YyqEqTTk=; b=A9lhigq7ei2cCVJDK8fHhuA83XISuM9A4bQKrPqIdbMBTpcj8L8q4zVm5WiIH0FdcW6YuL BYHgawwfszwr9Ayb2t3fZ0tJYBFmJLFDw4/Dv1wbxMHnIcdrs5w/PuPA8ZxCwMsMY8Mx3q kVT6Rq4rEJm4sMRenyIcnNzQ1O/DKH0= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 758AFFEC; Wed, 16 Oct 2024 07:41:16 -0700 (PDT) Received: from [10.1.28.177] (XHFQ2J9959.cambridge.arm.com [10.1.28.177]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 848913F71E; Wed, 16 Oct 2024 07:40:43 -0700 (PDT) Message-ID: Date: Wed, 16 Oct 2024 15:40:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v1 16/57] perf: Remove PAGE_SIZE compile-time constant assumption Content-Language: en-GB To: Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , David Hildenbrand , Greg Marsden , Ivan Ivanov , Kalesh Singh , Marc Zyngier , Mark Rutland , Matthias Brugger , Miroslav Benes , Will Deacon , Arnaldo Carvalho de Melo , Ingo Molnar , Namhyung Kim , Peter Zijlstra Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-perf-users@vger.kernel.org References: <20241014105514.3206191-1-ryan.roberts@arm.com> <20241014105912.3207374-1-ryan.roberts@arm.com> <20241014105912.3207374-16-ryan.roberts@arm.com> From: Ryan Roberts In-Reply-To: <20241014105912.3207374-16-ryan.roberts@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 44C762001E X-Stat-Signature: 85bk8tim7i58u7odz1sauu3gqf9jfq71 X-Rspam-User: X-HE-Tag: 1729089643-684969 X-HE-Meta: U2FsdGVkX1+OfVl5ZPFtZk5wPNcOyFtoV9kcXq+4TCoTNVKaV7LJVCeAcoEjysYZD7jjU+OvfduE17Xt8gO8QLA48TRNarTZvntqBvwM4St9CofAbrrNdlVFWeD8BxsEmffl7epMHSXBSiv/HPLqrS8KlOBD2JThk4E4zZ17PO9cqjbZY/HNPciEDNBVuUVi+fcViHWrCVD8fCyhtf1z41zQ9dJ+14L6w4Z5emR6KhY7qiAnEJQEO7VSrk7LImvolu8As0mgeH5vKpFaLK16309SiNYtN2FPD4ZTiEF8PepqLFb0qX8G3qCKpq1eGlgjY7r7MjUUzyTpvMds/qZvs5NHivLy8dcNzEf4+1Wx42j6i9eV7l3hXywmHvbNXyDwdCdMjBamXNbT8kGmdERt9wZFmwBdbIa/9b6D61SsEPUrCT3h67zsAqSA2+mynqE3nEhcCE7ldoKsBps0hE8Tay6k5Zc++dlnGEXcrFBG2XO5V7j+pc7FBhKtPPhQruWKFvV/yl9qY9JYri+g638tzP7lKaVZn5dQ6ELEnKHKjxlEOLy2O8Vgp5L+hWlMbZEeQ6Cd7C0nNKuoahk7F1wR4yMwp4R3zD4Cj4XHlH3tFaH28Blb2Z46xQf1Y8aF6PEodk56KAb96+UfltMF+LaojhN6o7tpr6e3XKFwIiES5vPb8mw/ZFhKgjBOfHblpD6hMEvl1dlPh1nN6yWRyruajEbVLVFSfaSm8UEABIt2kS5BbaV/iFBWs52GBzDLRwUeWlibbGlI7O0dX1W91BjjQcUTUJSinaoD7GuapAkvMKCKk4ki1k1OKBXpvtxejFvYfhjoXP4s0ee7OdjkMq+R6tW31kB6AkCF0ObtdlNTQN50HGhmLk/uPD/XSktM8qlDKYE6mCJXRBuILhS7ian8llFw7ACWqTasc+iJSzDvzFKLj6BXyvNbfdVfRNUFGdP4V/mtBR0FZmQK8PmrUfx FqPN2QQE lQJpK0p3c0QlxBuhJXmq7M+gSO/kMuZ+lhYawYrGC+4+DwMUCO0suggqu7d6xca2aCPqjkMe0ZtnteuSLCGHokOkUcTXuMCt4v0nZRuifuLTkwmHq26Gniy9YdjKLI7kJz6frFdcbtjLW8jSUFl5XQUVZCzMT9fT1OVrXvsHk0+P1adDuSG7b47lqQpTvxMXJfQtep972vIEJ/Q0QZ2zBC7Z4hmJ3cYpxrhFomM3rmdh4JIvPHn6tzIpab+6oC0F5LzDzwc/qyFBSm8dvPJFDv7x5TQ== 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: List-Subscribe: List-Unsubscribe: + Arnaldo Carvalho de Melo, Ingo Molnar, Namhyung Kim, Peter Zijlstra This was a rather tricky series to get the recipients correct for and my script did not realize that "supporter" was a pseudonym for "maintainer" so you were missed off the original post. Appologies! More context in cover letter: https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ On 14/10/2024 11:58, Ryan Roberts wrote: > To prepare for supporting boot-time page size selection, refactor code > to remove assumptions about PAGE_SIZE being compile-time constant. Code > intended to be equivalent when compile-time page size is active. > > Refactor a BUILD_BUG_ON() so that we test against the limit; _format is > invariant to page size so testing it is no bigger than the minimum > supported size is sufficient. > > Wrap global variables that are initialized with PAGE_SIZE derived values > using DEFINE_GLOBAL_PAGE_SIZE_VAR() so their initialization can be > deferred for boot-time page size builds. > > Signed-off-by: Ryan Roberts > --- > > ***NOTE*** > Any confused maintainers may want to read the cover note here for context: > https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/ > > include/linux/perf_event.h | 2 +- > kernel/events/core.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 1a8942277ddad..b7972155f93eb 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1872,7 +1872,7 @@ _name##_show(struct device *dev, \ > struct device_attribute *attr, \ > char *page) \ > { \ > - BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE); \ > + BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE_MIN); \ > return sprintf(page, _format "\n"); \ > } \ > > diff --git a/kernel/events/core.c b/kernel/events/core.c > index 8a6c6bbcd658a..81149663ab7d8 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -419,7 +419,7 @@ static struct kmem_cache *perf_event_cache; > int sysctl_perf_event_paranoid __read_mostly = 2; > > /* Minimum for 512 kiB + 1 user control page */ > -int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */ > +__DEFINE_GLOBAL_PAGE_SIZE_VAR(int, sysctl_perf_event_mlock, __read_mostly, 512 + (PAGE_SIZE / 1024)); /* 'free' kiB per user */ > > /* > * max perf event sample rate