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 C049AC3DA45 for ; Fri, 12 Jul 2024 08:04:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F5726B0093; Fri, 12 Jul 2024 04:04:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A6876B0095; Fri, 12 Jul 2024 04:04:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 247D86B0098; Fri, 12 Jul 2024 04:04:45 -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 007856B0093 for ; Fri, 12 Jul 2024 04:04:44 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A9C73A33A7 for ; Fri, 12 Jul 2024 08:04:44 +0000 (UTC) X-FDA: 82330364088.17.C6AEB1D Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by imf01.hostedemail.com (Postfix) with ESMTP id AC2754002F for ; Fri, 12 Jul 2024 08:04:42 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H2AGS1WB; spf=pass (imf01.hostedemail.com: domain of lgs156412@gmail.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=lgs156412@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720771465; a=rsa-sha256; cv=none; b=HGY7aqX/6mg4X9OBEEHVPcaiWCePHCtH7G02YpnTPkFBzNlEHy509rHy1jQNpsvK/4gE9o gNEKb9co0PrAEiaz02Sm0nBrqvj07gYOkBuUDZLHacSbg/MqnMJsJcA3R4QPCSjhxh62B6 aHpSmm1iJpGiIILYshS/ye1NFU56tBM= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H2AGS1WB; spf=pass (imf01.hostedemail.com: domain of lgs156412@gmail.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=lgs156412@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720771465; 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=7DzpNgmhLJVBu5qe1LjZ6WkA9IlvA+byqn+kY68Fw58=; b=uqVGo8l8nJsELGu/8xh8cLxgqgcXc2dmCxHxQBpUrRGfRWQ3VxBcDuDiYUehI1JNiZ4Ww2 ry/izSani4lIQP7ogvbDV2R8+OCX074B2RU6AGxfi4uU/E0PXHvXFzlro6MA/vw0x0C1q/ S/8cuOnTU1s7tUSiEyMbNwPvgJnLnjM= Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-52ea7bdde68so1951476e87.0 for ; Fri, 12 Jul 2024 01:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720771481; x=1721376281; 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=7DzpNgmhLJVBu5qe1LjZ6WkA9IlvA+byqn+kY68Fw58=; b=H2AGS1WBY8eEUDqoZAIdg6Jyin/618/odZbx2+7AHLj9QH1L7bepyAAW2nLlD7GrIX NfuoQhVHnP9Ipqu4ypX2dRjWXLZwSDbHEfxMSRitRHRLuckd/DubJtFz2VEqWZMRsYe8 kuoaHABFME69T6G11Swhdcwh2fC7H2g1+jJX85VV7arCu40uz6oUf3eq1dxSVaTcQ96w sZHov2ltV8lUpVk9n9ZLOWHUWn57HqXg3rNjhudBFlkCYxTyaHfeAM1vOPU7gkz3OR6b Ng10u4cND9mSByo0yBb60LaGAAn+u9VdsLQygRCiEM+2/JtGOyUo63DO3TyUE5nGYVjX 85xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720771481; x=1721376281; 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=7DzpNgmhLJVBu5qe1LjZ6WkA9IlvA+byqn+kY68Fw58=; b=Jtv/lpbvCUfwStl/+L7nL+yYSShm00FWOmxauxwC04rc868/5OpTTAkrpuXGhKH/I3 KZO69ZqsE/nI5dBfqu4wA2q1YRUlNgRojAormY2B3gyPi4YsqE4gYmsXJA38xum2Vdj7 AQYDF6BweB2sJl9+ZZpqD1eI1NyZk2V5Nx28U6WVec/EVyJ5B0C7XHS+zvj2AAUOf35R p2OQuMKsh/B8YmAbNjb4dempAWeInVlFuMWnhstB7+20QExO81X5tj+Xbglh1UctVBAe UhaSNPfyPsl8j29URqMw2o2/WuZioHhmrEnHHKMpPyqsNrhGjTYYHmxaTSWFeaAgAQPx V5Fw== X-Forwarded-Encrypted: i=1; AJvYcCXb8eaXThxCsu2cTvn6yP8fFkG0omYMcB1Cd+RFcp2Ck51gAo8HXaYNy3ILzKohlpiOA2kJSnOvZq2qw1CyngqJa+s= X-Gm-Message-State: AOJu0YyWL4/Wo9KkpsEeDd30YphkRG1MXXfPQ9bUNj6UQ74k+CnuN1zY taq4o4rk2OkiVktmDvNpvuCIT6hufNl9A6T1wlAh+gItLx2CjvKTMKRU2YFJZYcoNIQkoJIr02n qSgvGmups0EuPCPon8vTLTdZH65Q= X-Google-Smtp-Source: AGHT+IEzGpTobVaTkEb3+i5LAPU3czDFriS9G7PWIRglcmKBHYVGpdf+/uEgEfJdKuMf+a+GRig9hdCn/WRpD20tp1M= X-Received: by 2002:a05:6512:2252:b0:52e:bdfc:1d09 with SMTP id 2adb3069b0e04-52ebdfc1f65mr6202809e87.18.1720771480680; Fri, 12 Jul 2024 01:04:40 -0700 (PDT) MIME-Version: 1.0 References: <20240625121652.1189095-1-lgs156412@gmail.com> In-Reply-To: From: liangxi Liu Date: Fri, 12 Jul 2024 16:04:03 +0800 Message-ID: Subject: Re: [PATCH v2] memblock: export memblock_free() to free reserved memory. To: Mike Rapoport Cc: akpm@linux-foundation.org, liangxi Liu , linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8jh9baihej8es9idm5onyjffyx6djzag X-Rspamd-Queue-Id: AC2754002F X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720771482-672731 X-HE-Meta: U2FsdGVkX18xw8JJ2QOcyz8UeBnjaq8Ra9ESaPrx1QAmqonFqzS06LP5V497pDDTfgU4F3WzGYpfnWS6trjCBvV/iWTyPCtZmfO3urDE0tIsNxygYvmayOh8oM04Umwnn0dAcpQDCvb9QwogwdoHuqLXEVK1I2siQEaUhRDFzrPu7nS1rFvhbspxYw4cgSL17DP5tZHa8ldzLE6EzQi1k+sOF3f1FE3oDmHywNU19oCngXavDbVKIpnEUbqAh6aiosvefE/XJr/at9JTnJoGSQDuVQDwipl8ajQkipsHhGTIWgYrkvdI0Ep3hTLeVDR1z7KcbBeOBXsWrzClQwkLe8CwpnW7JtQ+vyQvSRfn1pCUoz5n39VrB+x7Jjerh3sKEFCU0pPFzETqwZWB63z2DGOY+F+qd03H2oMuBk+Os24/a0RARMsK5RHbYikm/LQEwwptq9DymMc6e7iFbhkswPweeXc4J5Q/VKmtC07DMLltdass6xB74c08jnkGBdr+POjf1sOdc/SnAQfad3LiLIMPC5kolBH7j1f9PTJZ90Esmr3AyW6yneW850BgIrzd0Xw4E4yrCnPm7V3rHSYrbh2uLJ81b96M91iyQS1/wuk3EXzIif5pCsbm19+8nN5kc4uRECWM7di9Is/uUl/UxRq8EDnD/OdbwDOw8tCg8mHFxeevA+yeEvk0nN5sJ/8dExpYSA+YR9LRVRaJYWo69kDap5OO1FQDBQKvv5hgr+pXerj3da6EmQycv47T8w61TPjLDfi0u3z2Q5qg/xE5anWdkJaIeQkie1fgEsF4vrOr7hJfzAaNl3ZlHGTzawmdIEnzEF7AWAXAFFZOp1/VrA9t8xMuM/J/iFKbxQeSzIS7szPO97dxvEwgIdj+BEnvOHtep3J1lsNBDS8l16duCwRDIUtHQUIaMeGJtvR8hOPnBfOxwmMo9pwZqMQYEHB3aYvaEJlF4XD1gqIV7Vi SNNPgHJV a9aEtG2hvTU5k32AK9F5ALKi8kWg2g2n6WSacGfsUK7KOo7TFCRHBl6yurQbN1iZULXiMGQhOLOb9jvS8mPq44tLnqkCT+vw2C6ko8nYpDf+sjoUZ0zY+e49KcQwEDscNBK6nahwxGW3w900064iP4vGF/0xg1pCDUEcoLMDMN6D/dy0F8KeNcK0tSwwZ34dJSLmfdpqLdZQZ0c5CLigUUcKyjaintD0gNRx4nEE07wOAm1yIP4r8etvYvojdgA4o7WsNQt/zSxGEyBeZ7YMdnyTNcsS1aAq6rss4bCd1zVv4mz7Fa/bOf3yEtO9B1FPmKFk4OZj/vir3EZ4M715D2ov51Q/o1WvJLbkkIrKBVGTzlvhKgSTOa6oCm0q2AyQxJ3FX3mRWGb48n/Fj0RUEYMq/jDukKH0Pz065Cc4EJXZRqTY= 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: Yes. we have a reserved memory used for display the image, which needs to be deleted from memblock.reserved list(memblock_free ()) after display and then released into the buddy system(free_reserved_pag= e ()). Should I use memblock_free() or another API? Mike Rapoport =E4=BA=8E2024=E5=B9=B46=E6=9C=8826=E6=97=A5= =E5=91=A8=E4=B8=89 13:05=E5=86=99=E9=81=93=EF=BC=9A > > On Tue, Jun 25, 2024 at 08:16:52PM +0800, Guanshun Liu wrote: > > On architectures that support the preservation of memblock metadata > > after __init, allow drivers to call memblock_free() to free a > > reservation configured in dts. This is a hack to support the > > "This is a hack" implies that it's not a proper solution, right? > > And anyway, memblock_free() will not actually free the memory after __ini= t. > > > freeing of bootsplash reservations passed to Linux by the bootloader. > > > > Signed-off-by: Guanshun Liu > > --- > > mm/memblock.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/mm/memblock.c b/mm/memblock.c > > index 6d18485571b4..20e7f81fc076 100644 > > --- a/mm/memblock.c > > +++ b/mm/memblock.c > > @@ -848,6 +848,9 @@ void __init_memblock memblock_free(void *ptr, size_= t size) > > if (ptr) > > memblock_phys_free(__pa(ptr), size); > > } > > +#ifdef CONFIG_ARCH_KEEP_MEMBLOCK > > +EXPORT_SYMBOL_GPL(memblock_free); > > +#endif > > > > /** > > * memblock_phys_free - free boot memory block > > -- > > 2.25.1 > > > > -- > Sincerely yours, > Mike.