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 340D2E7718B for ; Sun, 22 Dec 2024 00:52:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 31E056B0082; Sat, 21 Dec 2024 19:52:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CCCE6B0083; Sat, 21 Dec 2024 19:52:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 147396B0085; Sat, 21 Dec 2024 19:52:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id EB25C6B0082 for ; Sat, 21 Dec 2024 19:52:27 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3FC78450F4 for ; Sun, 22 Dec 2024 00:52:27 +0000 (UTC) X-FDA: 82920766572.17.C3234D9 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf06.hostedemail.com (Postfix) with ESMTP id 0B352180005 for ; Sun, 22 Dec 2024 00:51:59 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YEKMirUx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of guoweikang.kernel@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=guoweikang.kernel@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734828728; a=rsa-sha256; cv=none; b=gTRIX0uK03FniJRb03eNkyxeRNobkMnrqSjGpnSl0tvdfTGRYL/7XNeVgColmHdvsiIgfI wB4Oe42p7ZQiNRfqFHoSSt6qUc0blh0fFRW/TqQ4Jd+5KBl3zxZii/tE1R2SThPlqYFeI/ gxb6uIkqnvyuTgh9nLo5U7Vdy6tXuf4= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YEKMirUx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of guoweikang.kernel@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=guoweikang.kernel@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734828728; 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=G56dFj5BRaIttSoRxhRi+K83W3sP81bwdAaZ6QoaIrc=; b=tmMZSZls+AaJrn3wM2QfFQFnF3ye1fs+f6LjS+2lOJCnU4o2YN6NlGndrzDlh0tnPZ9wmZ 0LdPivBUjeOBGDJV7K/K9QEGgofelj4mKubYzpbop7psTjYp1bXBLQybXV5uzqACaoPxx+ iefvPcan5iOvvkVPFBIgaMPUJn+/s+4= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-6eff8289d0eso27694907b3.0 for ; Sat, 21 Dec 2024 16:52:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734828744; x=1735433544; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=G56dFj5BRaIttSoRxhRi+K83W3sP81bwdAaZ6QoaIrc=; b=YEKMirUxoYYbowDlPUAcC11WlfG/MTqElG58HjgOIcZLY86t2VNLZ9c3eEP5CNywQd VCoH4/PlxZO5vFO1YqQsv08N9bbTuBhqKxk1UlzFvo4QJu7/MDol8ryllNJnQK60tXrd TGQwFR+G3PS8Lo3obAmub3/fmn/0W8HBB8JG7a/X8RJU50qRQRyn2Dssr4XtQiN73WUu VDfmCh3k4hgjHxwYe67of54Fa+S+CeFGAG/kBWNV2ZlDhje1kghnrJBaCpbDUaRVk2e0 jMWl9U0ODB0Pds5s7leZDgaPjz//c/Km7XsXLL7LhK3S1l/G+w/ZxF/fnvkurGt5n/+S GYhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734828744; x=1735433544; 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=G56dFj5BRaIttSoRxhRi+K83W3sP81bwdAaZ6QoaIrc=; b=MN7h0pzCxZsWPwsG0wlbBqz3WFv7wzEw2/xw8A29ISNAMnG/PMxfqpdg4/YBPLgDYM SYIGTAR9KcPynsZSd1s9sNCzs0D/Ioy/Bmd+tFxWE1JEIbMydT5Rc4Os23Yi7sZnh6pc XI+o3atWvSEEYGEo5Suh6wWOHMLj8xlFB90h7zKWJXxxP4RjiqCNYJzr+kM+o9j+Tf2z qMfyEX1bHTPaiFuB+AnrT/ZZuQhH4RVdfQODZHcFNtrzpQIrg/iRpfecgwom5+oBH4TX 2R5MnfYoorJElwB2oL+Pw/ybRXZUfi/sXO39zOkjW5JM8zBG6JVMIlv5arnEijAATnl3 3Ozw== X-Forwarded-Encrypted: i=1; AJvYcCWS928sN3fi8HOA7WsCyDSLwjURfvF29EFL8PkrjZ7geLcbe2jf3yB6zFIfUH1HoTbLHMKP/+KVTw==@kvack.org X-Gm-Message-State: AOJu0YxvhTakkjHKv+KPwfnEkIybRlMX6oIzr/vS0kjePOz/Dm5DQdUX HrHzRv3xo0eb2QhIjNYVUsCQ5uCr/oh4fqhPO5ZWk5qqfvsElx8xqY2ir4ycpnEWEW59yIDcU82 CQotHkic5z9NX3FkE+grm3imzpjQ= X-Gm-Gg: ASbGncuXsXySNol0U5wTX4lXYBnPWH3yEj2bA+BoIT1xwVegBzOEg9ad0qud5rXtHP/ vqaI9dpAsslpUPLJkreSES0I55SK2LOsQ2SHotps= X-Google-Smtp-Source: AGHT+IHH5gTAOmFubOYjlrK+2+jdIvePBlyZPYVyBZBy90RljxEGCQgcvHQMo3bTypvAoytVk58QJl8i95oeqQUdh1w= X-Received: by 2002:a05:690c:4e82:b0:6f0:21d6:4497 with SMTP id 00721157ae682-6f3f80d911amr42730727b3.9.1734828744363; Sat, 21 Dec 2024 16:52:24 -0800 (PST) MIME-Version: 1.0 References: <20241221104304.2655909-1-guoweikang.kernel@gmail.com> In-Reply-To: From: Weikang Guo Date: Sun, 22 Dec 2024 08:52:14 +0800 Message-ID: Subject: Re: [PATCH v2] mm/memblock: Add memblock_alloc_or_panic interface To: Geert Uytterhoeven 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-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 0B352180005 X-Stat-Signature: 1oaczc4jqgckddk83pabjoeop9ppnos7 X-HE-Tag: 1734828719-95517 X-HE-Meta: U2FsdGVkX1+dj2PmNmWPXmch2KYrXaZ0QWnWeywcBKChe4pxl9yy8QcR1YZj9wKVwAUycREWRRXpfUhCW9ST/kBN7TRLRwsa0KjyXxlt9aFnXG87Cpnznn5YGkpxDB2x3v15MyeaOWkt/7nqIxWv0SZNXzvBh/BX2zM22KTcBXrvFWcWPwwwF5SqJC7QbM2wb2eTt0bPZnM9pMmdm4SmtfGZs/YXm1RkgBHKZxJdihwbJWIjGrkO0x0bt1mKTZfVy5RGc10a9CC0gK6hukSXyjUk/Gn3Qi4qc8NMt+my5p8Ih5CKA+ikJNZK8qwJnlmyu/4bYlA3ZZPbuAsscrmzKArcdlHB213yyDfAqOj2KeOSpfdYvF0a4U5ZnQ7KR7RIMmg4kqMVFtJDDsulyiYtGSHcXIrywqfJz5js8aMLTWY7P2J07VVlEfIe+Whihdv2maljQahBiq8aEbzSUfeLe6XYUK9qtHGPjRKqFyS+FuAuls25Hm8eIFbAF4y68V6x7/gYdFeSIS8/Xb+6qIaWRsB/dugfq06kkHilUyZPijY27akgSyLsJBCl5Zz7gbdtAFiI13d7DtUNIqZXxxU51fDgdNAJBKtQtU+BffW4zJLeLWKzh7EC6wyD3HU4MUzVjDysU00kdKq4iXP5V7PCp1sThdAIONBwHhV4iasVGs2+w6WLy+dw721ljVWnyMXh0y783YVo8SSSEymZr7cPLxkcSOWqr93QFMYkC2r2oaYlNcH8Zqb2uvSxRZr/pWdoVicUFOmf9xNCUIHRASzL9B+K+qpPOeW4AlKDhCyp5nizX/R+lqt00q5z/k/othuYG68+lFzGt5yLj0OmAtcwstaKjl5dTmipKU+4jhzf6hgExbvwlwqFlvzXwjz7tJOWQf6JyZaGQRmDXTUHs+52nnTfc0XyLZt8A+0LM47zZWAAG3TFa2pMTzHdhCHU6ZCUtjEOs98Ug/zsYhI7n2N AubLf7jo cfOmXxkz/mXHcMRF5EP8v4q47RkBYgOlIEYm49L9OFjG051l8dLC92R144yKOzmjX3oarwQhFfoXdW+8izHPN7eXV7wWSHX/cXC7bRXLAojsckB/KeYw7Guyk0RZ0VNd9I0JC57/iZzkFLrzR2VYk86NwtYt/WNWZyDMlUORibZ7LXtsBzh/0JaOXEtlsIQ3izVHX+UvT3yo6yFpE1XI7gQ2wc7cWOv7hv0ejfHDYvM733pAHV2ALNNvpBrjY1hWw8fjMhBvQC6KLU+YA40kqnfXxDBCe8O6HuMxeLvQVMf85dEbZPMwDqmV7vorHgdtYDg8a2wyUVd6VZM06hR5dpKBnZrjd5oZugpOU+0r1+JvUugO9CIRqdB35Cz7NxITi2FKqlUP7OAImiN//1vfqgqH2PJOEpw4+GevI76Hu9mUopD+hq52T4gWourc1k0RF9iMHfrtn5pMdxspWjFaX+kLKiSX7bajzUzXspeTuDVjnDwq5rmYVMfzwWDH8ZLzZpeNKTLkOsduW959LICZZ4tgq70t9YCahvx4k390u0+XQA90= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Geert Uytterhoeven wrote on Saturday, 21 December 2024 at 22:10 > > 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 immedi= ate > > panic is required. To simplify this behavior and reduce repetitive chec= ks, > > 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 behavio= r. > > > > 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_a= ddr_t size, phys_addr_t align) > > MEMBLOCK_ALLOC_ACCESSIBLE, NUMA_N= O_NODE); > > } > > > > +static __always_inline void *__memblock_alloc_or_panic(phys_addr_t siz= e, > > + phys_addr_t alig= n, > > + 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. > Got it, I'll make the change > > + > > +#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 > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m6= 8k.org > > In personal conversations with technical people, I call myself a hacker. = But > when I'm talking to journalists I just say "programmer" or something like= that. > -- Linus Torvalds Best regards Guo