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 3716FE77184 for ; Sat, 21 Dec 2024 14:08:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A6F96B007B; Sat, 21 Dec 2024 09:08:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 356556B0082; Sat, 21 Dec 2024 09:08:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F7A86B0083; Sat, 21 Dec 2024 09:08:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 019F76B007B for ; Sat, 21 Dec 2024 09:08:50 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 81276A116E for ; Sat, 21 Dec 2024 14:08:50 +0000 (UTC) X-FDA: 82919145582.08.A5FAF04 Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51]) by imf16.hostedemail.com (Postfix) with ESMTP id 1F933180012 for ; Sat, 21 Dec 2024 14:08:11 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf16.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.160.51 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734790112; 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=GpBog1LJdntPo57cyHdGkHydPz04prdcJbkki5MzpWU=; b=P+Oj0zicSZPWwmDCWoAQdTarsWOAqtuHMPPFvX9heEmu2UbBbfic1Aba7FHRUOIIbeatkm +Ah6fh1E33yqucOtsl0hA+H7xb+wV1Hg4xPwWXzSSOFRFBlx9tvpSmwXfdJNCUUQVvlP+P qhirNyiLt0gEUQox/JOe7QREEpUZsUw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734790112; a=rsa-sha256; cv=none; b=O+X/wBQ2dU+3tPoh3iisV9QuX4ELI8i25pqTL8ThP0BG5IJJluaINvfiK3TlmTm/u/OfER Ae72pJN1SDRQTHehz510tzhlBS0dIqzAH81Dkv3TfjU2HNjqUzj6UVPsOGK2RDN3hlKdpz cMbnasQ9goOfSfGFRN9NX8avW/BF9q0= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf16.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.160.51 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-2a7ccb2c618so1452430fac.2 for ; Sat, 21 Dec 2024 06:08:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734790127; x=1735394927; 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=GpBog1LJdntPo57cyHdGkHydPz04prdcJbkki5MzpWU=; b=rgeVYQwIGAs+SYtX+/c9C5kKTEytCL6gCmRYK+D6/WYtlL63xHHnJF9hu59rSbbigG fGcJDUaJuBpPovetCuVpupNAgp7nym0kGO62LU8AuItDbKsGRvuYtIQ4SBIVHpmAGSlB k3koj6nQX1UBGa0OTMMEcWZyQWBvJeV80p+qk4qcHQ9D1AsnYua+a66q4g95Lu022lnz AV/1F+0gbc350QFGlIC6bNAZmVT0G2R+jcQNvZX3J9NCtPLBp74jh3rt7AWDxX6lzYOD ervvQT/v94/koQ9niLTrfr3XKMVeKKz/uBROf7BUOFOdMklra6cShJH4+WptQJUtHzmR s6lg== X-Forwarded-Encrypted: i=1; AJvYcCVhjlgKoCOLA+XtptE3I0YzQ7TB+8SZU/AyHajE8mfAqTGoxIcVTyC/WcZ/H1AdB/0cx+L+vX7wqA==@kvack.org X-Gm-Message-State: AOJu0YzrkROD02s2MPlsJRJUMfeLiIOI0xsV4z9iqnXQFeaQYZq4xEwT MBYKqjrhffrl7fEDCwVO+uxF7pFDi16AOjksOVKctEFjgPjXSdsf+eh88tfM X-Gm-Gg: ASbGncttn/Z/7ahOhiMkgD3XBjcc4Lr43VOtds5M8vPOj9BmtrKx9OzeEPmO28OpQw/ pBAHQWK4vM4JLA8yVsQZwdSRbsquke7BbPc0wiG4B3vvXGYFm+Is/hWhtz78pOTAisNhUdk820H 9hxY3pKjqy144A+pP2KjxeTu39XzxFhpsjJI0RWLcbu6mfZXONy6dz/yMh+PX0k3eNm+FgKNSGn 4sHaab5EUYC9h3FS+D8c0iF7ZrxSFA/Z+9/qXIM8IwrhpJpVPIf4TfkDMnTXv/yYBZQvjAuAR+q KgCZgkbYtSEMVJ63wkDKols= X-Google-Smtp-Source: AGHT+IEublR63y4BLnmYHq/IyKifJ1W9eL52vq3vHzuUKd01JgXxhsc5hW+Pu2/UGyNVhgqnZsnWDg== X-Received: by 2002:a05:6870:a79a:b0:297:285e:ecf8 with SMTP id 586e51a60fabf-2a7fb304d32mr3310261fac.25.1734790127171; Sat, 21 Dec 2024 06:08:47 -0800 (PST) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com. [209.85.167.174]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2a7d74c0012sm1530615fac.15.2024.12.21.06.08.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 21 Dec 2024 06:08:46 -0800 (PST) Received: by mail-oi1-f174.google.com with SMTP id 5614622812f47-3eb939021bfso1441707b6e.3 for ; Sat, 21 Dec 2024 06:08:46 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCU7qFGMfGpsLTgtG+leBr2nrHVmDKmhf0U/YILlDuXShzNOF+DlhotF63/Reg8jYpSMzyqpBVDATA==@kvack.org X-Received: by 2002:a05:6102:cc8:b0:4af:ef85:dae4 with SMTP id ada2fe7eead31-4b2cc313a2cmr7064126137.5.1734789822327; Sat, 21 Dec 2024 06:03:42 -0800 (PST) MIME-Version: 1.0 References: <20241221104304.2655909-1-guoweikang.kernel@gmail.com> In-Reply-To: <20241221104304.2655909-1-guoweikang.kernel@gmail.com> From: Geert Uytterhoeven Date: Sat, 21 Dec 2024 15:03:30 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] mm/memblock: Add memblock_alloc_or_panic interface To: Guo Weikang Cc: Andrew Morton , Mike Rapoport , Dennis Zhou , Tejun Heo , Christoph Lameter , Thomas Bogendoerfer , Sam Creasey , Huacai Chen , Will Deacon , Catalin Marinas , Oreoluwa Babatunde , rafael.j.wysocki@intel.com, Palmer Dabbelt , Hanjun Guo , Easwar Hariharan , Johannes Berg , Ingo Molnar , Dave Hansen , Christian Brauner , KP Singh , Richard Henderson , Matt Turner , Russell King , WANG Xuerui , Michael Ellerman , Stefan Kristiansson , Stafford Horne , Helge Deller , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Madhavan Srinivasan , Geoff Levand , Paul Walmsley , Palmer Dabbelt , Albert Ou , Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , Andreas Larsson , Richard Weinberger , Anton Ivanov , Johannes Berg , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, kasan-dev@googlegroups.com, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-acpi@vger.kernel.org, xen-devel@lists.xenproject.org, linux-omap@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-mm@kvack.org, linux-pm@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: zh3ecpq586jo3usirr1b79r7xtjfuueb X-Rspamd-Queue-Id: 1F933180012 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1734790091-553495 X-HE-Meta: U2FsdGVkX1+Rn/tRluA/UGe76WtnK3hSl9HsFBZrC5nJwWLHP7V2NltbDivHi/oQb39qpkxPMfpjniRiMr91D37fSVAU9zuoF+VFCEKUH65SDMqndwGMoJgcZ2uO4lJ7IfILtplYilhMB606OI0OUakdVu6yLnvvJ58lCbeK6r2CTNTIj/NyMzWkWkHOCgBgaEPCnKgzqAlJq/kYMbe+Qvrn2krNJq1ubt+ruK4lliDJO/FuBDSCYY5enqllKB1XcxuquFm/5j/xTuE8YARvclsW2h2Zu5HGN4+gJZ55CTmm1pNU8YyVR0qksi76+eoJPVTl+LIHouFR99bqs0xEHdsevD0X9MDBO3sjXDbL5D4KFUhb36XadE7UwsedMCMJkcAlQNGSvIO3Qx6FpP6B9HR/mXBiZpCs40fD6LDMDgASOEfDKe9FEdqxtwnYwCXx2cLkpIKVKjFo2famDCIyPrxqY6cscEnRXxWmP/LOXeMgGoW0BPN8wQkz0KDlbRmPk8n71qSMSwisyDjuAO5LWGt98nK4oRgkHOwsd5FudhRnQQVbRWwp7KjPSAT3yDLxAPNNLjzs4w0bIpqjzFu4A51jsMavbhN323IQrdErx9+gGJuGytmdx8IPz7M839csxF3BJi51SNOhN0d4xbm4F2boSQE/aM4VwFqydDT5nb6JpvVqgIrYZETp+RZSzpiCAbVGUJ1ShiEjvT0HoeEfogdmtGKSnZRKtXajJMeg8CesSNsZj3KZb4Q7IeNSg7R+dLWm/JqVFoka4UpURRn0iBlU89es6Fe5uO200i7Fvf4ECg9AKJlwNtRSja1eHl5Gq6srv7BGtb/Jz4zPnjpiIqSaS6VV6sLMVYvNeksdtFPCbeDtyjlqoZY5m8XJI5CG+N7ptSBD6zcOmRKYr8+1xzedIoM1XJhD+s7fCwJK1RAHGMGTagynnOg9UP4KnBOdFsh7uZjT5UDDhg6HGw5 zFPiYkzE Hehn+zGzrSxUFjqlpwn18+BW8xtIWMueKUluj+JpEEOZVHI/O+o7b4hdSFnTMbq6l4MrpQ0q41wej/zoIKEAev3fDQCfis/X+tAqqoyIxf3Nqj9IOgIIGv07+q+PE1hIJd+0Os6wbWS3IuH9H/nSNRB1jPXXNbFkx1mbPNBsgFtJ4bl3D8kyOI0Ht0C5j4aiMKHKKuZnDuZz4LswT90YvmrLeAK5E5MxIspfhjH+xS2LX3U4QE+pL1mzmQ3wnnfzTAVwiRfTM3Zg35dazoTVV3ldVX/tzZTVR2Z2NtPtJC/8hJY4NrONHa30m7P6vDDJE066BjBEmAsdNeIrDX4SDvdXmrnapv8qrGTcwDc24kU0dGOriljJXIGOL56yQL2qaTUL9HfIhQpJ3RPbC/sdBfSzF0DWz1PNa5QETWxE0ZNzNXISPrW5s2u4KdPP4FwoX/J4FAgTIJ5PFpx/L3Z/4cPQw5hjsPAZSQtL0/ODrqEeNd0KSWbC2TQ/078HOJTye9HTS 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: Hi Guo, On Sat, Dec 21, 2024 at 11:43=E2=80=AFAM Guo Weikang wrote: > Before SLUB initialization, various subsystems used memblock_alloc to > allocate memory. In most cases, when memory allocation fails, an immediat= e > panic is required. To simplify this behavior and reduce repetitive checks= , > introduce `memblock_alloc_or_panic`. This function ensures that memory > allocation failures result in a panic automatically, improving code > readability and consistency across subsystems that require this behavior. > > Signed-off-by: Guo Weikang Thanks for your patch! > --- a/include/linux/memblock.h > +++ b/include/linux/memblock.h > @@ -417,6 +417,20 @@ static __always_inline void *memblock_alloc(phys_add= r_t size, phys_addr_t align) > MEMBLOCK_ALLOC_ACCESSIBLE, NUMA_NO_= NODE); > } > > +static __always_inline void *__memblock_alloc_or_panic(phys_addr_t size, > + phys_addr_t align, > + const char *func) > +{ > + void *addr =3D memblock_alloc(size, align); > + > + if (unlikely(!addr)) > + panic("%s: Failed to allocate %llu bytes\n", func, size); > + return addr; > +} Please make this out-of-line, and move it to mm/memblock.c, so we have just a single copy in the final binary. > + > +#define memblock_alloc_or_panic(size, align) \ > + __memblock_alloc_or_panic(size, align, __func__) > + > static inline void *memblock_alloc_raw(phys_addr_t size, > phys_addr_t align) > { > diff --git a/init/main.c b/init/main.c Gr{oetje,eeting}s, Geert --=20 Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k= .org In personal conversations with technical people, I call myself a hacker. Bu= t when I'm talking to journalists I just say "programmer" or something like t= hat. -- Linus Torvalds