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 9989ED65C68 for ; Thu, 14 Nov 2024 10:09:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D35B6B0083; Thu, 14 Nov 2024 05:09:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2834F6B0085; Thu, 14 Nov 2024 05:09:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FF576B0088; Thu, 14 Nov 2024 05:09:37 -0500 (EST) 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 E59BF6B0083 for ; Thu, 14 Nov 2024 05:09:36 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 68E82AC995 for ; Thu, 14 Nov 2024 10:09:36 +0000 (UTC) X-FDA: 82784276904.27.95B3E93 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf14.hostedemail.com (Postfix) with ESMTP id 1E5A5100838 for ; Thu, 14 Nov 2024 10:08:32 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=H1IDs8ap; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=wUbPSJg7; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=H1IDs8ap; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=wUbPSJg7; spf=pass (imf14.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731578787; 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=Il6MCIWPQie3YJaODFOx8K/akx4KWy4DGzrSlIIzXQo=; b=NIGvfWFwIW7zIKLEHSNa2O1WUIl95cOoWgfQ2VxFfqTNlNFu4+Pync7kAvUQTkqNdA6Ifo KdHrhQXdAyfCU9kUQVHnvTxwqjqOakDH17deqdjTw8/ZU0pz7UdVtemSb/5hKUsXf8st6J cFIrNzxILPnY5FuWXd1Ylk7UqRO9K8c= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=H1IDs8ap; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=wUbPSJg7; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=H1IDs8ap; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=wUbPSJg7; spf=pass (imf14.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731578787; a=rsa-sha256; cv=none; b=5nDAg67R/Asz/7yNPos8GeIC5BMcgGHFWuzVhxZ6FYIY7T8De6zRIbMNyygebmVxldNlSe Cz2QBmClOqXyXOmcHYmpnLmNObQiAjLFQh8VUHjb3nHbviYYXUxmjbvTpo6cc3TITj6jKp d7JTWYPNLVPd+VT3EK1uZE1TAm6FOmk= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 753E52119F; Thu, 14 Nov 2024 10:09:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1731578960; h=from:from:reply-to: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=Il6MCIWPQie3YJaODFOx8K/akx4KWy4DGzrSlIIzXQo=; b=H1IDs8ap3R0WhxzhJfAHUhV8nquICuKmn5BuJQnAUKNFH6hm2KdhOqPqQr+gA4lgXT42kl +gZj/NWcbBBcPErB7piRzIcSPlQB8UnLhFdXy3NX0M0djJ1WRSzQ0z/dtVh1HKntq23YBi Vrs+1m6IdvMbffMB/70fSRZhc+9CLkg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1731578960; h=from:from:reply-to: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=Il6MCIWPQie3YJaODFOx8K/akx4KWy4DGzrSlIIzXQo=; b=wUbPSJg7bnBdXNUSJ01COjnVMsD68Mwtcu2s/SzXdEW6KYLyBSgrw6jQXDJH63C7yplZdT 9ifItblf8gGgiDBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1731578960; h=from:from:reply-to: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=Il6MCIWPQie3YJaODFOx8K/akx4KWy4DGzrSlIIzXQo=; b=H1IDs8ap3R0WhxzhJfAHUhV8nquICuKmn5BuJQnAUKNFH6hm2KdhOqPqQr+gA4lgXT42kl +gZj/NWcbBBcPErB7piRzIcSPlQB8UnLhFdXy3NX0M0djJ1WRSzQ0z/dtVh1HKntq23YBi Vrs+1m6IdvMbffMB/70fSRZhc+9CLkg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1731578960; h=from:from:reply-to: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=Il6MCIWPQie3YJaODFOx8K/akx4KWy4DGzrSlIIzXQo=; b=wUbPSJg7bnBdXNUSJ01COjnVMsD68Mwtcu2s/SzXdEW6KYLyBSgrw6jQXDJH63C7yplZdT 9ifItblf8gGgiDBQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 66D9C13721; Thu, 14 Nov 2024 10:09:20 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id f/HHGFDMNWc2GwAAD6G6ig (envelope-from ); Thu, 14 Nov 2024 10:09:20 +0000 Message-ID: Date: Thu, 14 Nov 2024 11:09:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] mm/slab: Avoid build bug for calls to kmalloc with a large constant Content-Language: en-US To: Dave Kleikamp , Ryan Roberts , Andrew Morton Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20241014105514.3206191-1-ryan.roberts@arm.com> <20241014105912.3207374-1-ryan.roberts@arm.com> <20241014105912.3207374-6-ryan.roberts@arm.com> <44312f4a-8b9c-49ce-9277-5873a94ca1bb@oracle.com> From: Vlastimil Babka In-Reply-To: <44312f4a-8b9c-49ce-9277-5873a94ca1bb@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 1E5A5100838 X-Stat-Signature: 156bjnh58fhabsqhkxc3usrz9wfc6iy6 X-Rspam-User: X-HE-Tag: 1731578912-586712 X-HE-Meta: U2FsdGVkX19r+5eMfql54FExxPXBtdQ274uHFf0L0GFWoNHeYNrwlHfR5qth8ObeWhpZ/0a0adXF+MULIAULYdQzsAoa/071XdVlcY6bpDlm54nw7hTYvR7oiFm5CTcv6Q539fkZsitjW2ws0H/aY9uLz8MbpGXEVycXIV5PAXrXIWVarYqUMqup5KjRVOYxly/QPCSTGdaq0INRJHKsftR7/oKJ63nO1/1A0vYsqLRL0KTN2x2V0j07qz/NfZzN+W0NuzLjRzthGQrsgiL507uenELix1TqfGR8qE60b+RJvaprWEk0X1WFHaBnp4c00rD1bxLCdUI57SkFvEfOtpTNNyW73bfwXmgWoKiCkJuoNMpT32yamXIlVnwSWuQHG6XPXnOC3rulbSzrZmz6F+Dcb/GHXIMGQWjWybGzWr5XOe4BgS0UaoIbHF/QfG3zUwfkqUPQZRPlkkZPLkdAkA4+6QI1eQgm/D+IsdanmG18oMnuF/K0x7HCoq41BSzp2IpRsmhH5pZsHvZ/iN0mY7yY9PqXwWO3/f+UmoKSUQObUaB4eVLA3+k5umcebZqwEIXCu33MaZKsGuYjTmCshiPHYTXv0hVgyzKJpMqZ/JcC3plE41Dmm6Oi3YdQM1PPPrVmxJli/huaJvFVFzSi2qOgpQnJkntvqzcBZgz3jUO4TP2NkbYe5yE8II/WBlweC72Z/2w774kowb5Fopj5A8r9nZOolEy2N02wi3J8Xq4kSBmVMsC7twHJYhaHd3UWnb0rC4lNJIPQ7EPQIciV/cnqmeHlLqacoZ/QrfRaxv7ubCTEVu3A5drdrZi6FafXRlgF6z4nF2ZeGm7n+BAHmPZmAgVyuie24PtEzGw/frvCaVf2NvOz44ikc7zZRKGsKki1qt/ZSvr2MODpIcsZHtdMWC+thRbC5r9hJo90Acp6vcFYTTZAb2nuti0UVXzV9tIyngI2NcOThRpHOM1 Jj0+ckJH b38lKe69BuF7p06zN/rhAw6SaN4Cv5OXD1h+p/Bn1QikWl6npgYXNHvpoxXBMRRGwAnQghqbWM6qagtTgVuvzRSL2QScGgM3Qe1LCNbQ0SoCmuUEwlUhdwn9IXKIXRHSJePNqvYuX9LVy2w5HrA7lShMVZrnavuGwtP0e9VN6ImMBq7T/lzTmBudQZQ/uF1phOJWoBGKZpwKZC0qeTgqyeIhy57sJ79/AjsgNPMPdedTRmC3Os7p5DjsrBwdlo48YPETbQTjHExROCg8unruKsnQBLMPA7EAnphdbhicZCYxFFn/TpFBR1TrUGw== 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: On 11/1/24 21:16, Dave Kleikamp wrote: > When boot-time page size is enabled, the test against KMALLOC_MAX_CACHE_SIZE > is no longer optimized out with a constant size, so a build bug may > occur on a path that won't be reached. That's rather unfortunate, the __builtin_constant_p(size) part of kmalloc_noprof() really expects things to resolve at compile time and it would be better to keep it that way. I think it would be better if we based KMALLOC_MAX_CACHE_SIZE itself on PAGE_SHIFT_MAX and kept it constant, instead of introducing KMALLOC_SHIFT_HIGH_MAX only for some sanity checks. So if the kernel was built to support 4k to 64k, but booted as 4k, it would still create and use kmalloc caches up to 128k. SLUB should handle that fine (if not, please report it :) Maybe we could also stop adding + 1 to PAGE_SHIFT_MAX if it's >=64k, so the cache size is max 64k and not 128k but that should be probably evaluated separately from this series. Vlastimil > Found compiling drivers/net/ethernet/qlogic/qed/qed_sriov.c > > Signed-off-by: Dave Kleikamp > --- > > Ryan, > > Please consider incorporating this fix or something similar into your > mm patch in the boot-time pages size patches. > > include/linux/slab.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > index 9848296ca6ba..a4c7507ab8ec 100644 > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -685,7 +685,8 @@ static __always_inline unsigned int __kmalloc_index(size_t size, > if (size <= 1024 * 1024) return 20; > if (size <= 2 * 1024 * 1024) return 21; > > - if (!IS_ENABLED(CONFIG_PROFILE_ALL_BRANCHES) && size_is_constant) > + if (!IS_ENABLED(CONFIG_ARM64_BOOT_TIME_PAGE_SIZE) && > + !IS_ENABLED(CONFIG_PROFILE_ALL_BRANCHES) && size_is_constant) > BUILD_BUG_ON_MSG(1, "unexpected size in kmalloc_index()"); > else > BUG();