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 4C811C30653 for ; Mon, 1 Jul 2024 08:32:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDF376B0095; Mon, 1 Jul 2024 04:32:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8F2E6B0096; Mon, 1 Jul 2024 04:32:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B58256B0098; Mon, 1 Jul 2024 04:32:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 940BB6B0095 for ; Mon, 1 Jul 2024 04:32:12 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3ABF7A2EBC for ; Mon, 1 Jul 2024 08:32:12 +0000 (UTC) X-FDA: 82290516504.13.43AE120 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf08.hostedemail.com (Postfix) with ESMTP id 45035160018 for ; Mon, 1 Jul 2024 08:32:10 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=McG0jfRN; spf=pass (imf08.hostedemail.com: domain of lgs156412@gmail.com designates 209.85.167.50 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=1719822720; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=M7vSaWhKHYR28+xIq3oInrulmSLogdeTrsiieM1jy4k=; b=QQftAgLQ0iPPnTG7exeFG65Ng+1y33F79rmctrLeRAB91u5z/1GBn7253Z+4/IueHWBFdY w/tHjJGj65ZqZxa+uGqeLY8NFiekIvbQAil+JMixd0LaXPFTOjhGdtYo/qsB1zDcTPE3lu i23SPN2HF7whJmzg4WQEYPEzbwe7Zhg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=McG0jfRN; spf=pass (imf08.hostedemail.com: domain of lgs156412@gmail.com designates 209.85.167.50 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=1719822720; a=rsa-sha256; cv=none; b=mUqf5Xx4s2hT3t62IvrRSNLHGw5A8FbubJNvpH4P/a1LJSFBEC5FkCNvMCAYOleiyFJT+9 9m2z3gyJ/B5TwFk8YPvfI866paSK66J+f8q63Br3+c9sMdlfQUxtP0RZmW9FxpMsFM3iDu KzpOmjeK0I5UnXHgNAMgXrdDHvgn3yw= Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-5295e488248so3426319e87.2 for ; Mon, 01 Jul 2024 01:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719822729; x=1720427529; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=M7vSaWhKHYR28+xIq3oInrulmSLogdeTrsiieM1jy4k=; b=McG0jfRNxgIEVulWUr58kqWC6u8hoPZ0r3rbpWxEyc6vPBCUD4wp5iBFvcD7xbWiFC O++t8OIsd26JNz45qW3j+tbda+ce4RUMx9D/jWQ0LD+oDl7JpJg8vrT6i+JbK5XzY7hx H4fs8v/qXB9CUEykcZuASKePl4NN5nDg/jfAfVQoJXpk9+UXIwhKtBQO/I+S7S5zg5cy OmWHABXPa5cPAjiTRRIEm+p8bsBDRzK4e7XuUDutbtd2frMQDPm0fvJ3K2zTSmSk4/3G CZkTPa3L2eTgMaKf0ihUrHgqTlwPDNg7uboAOFneBMae4im38KGJxV81USndSCo2FDDk 4vJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719822729; x=1720427529; h=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=M7vSaWhKHYR28+xIq3oInrulmSLogdeTrsiieM1jy4k=; b=iwzffEZ0qW/uVldyoulsunssm5ZqXuqVc4wR3GOVxHYMkC1bcU0ExV3Z07Q5w8T92A FSy9HAIP2GPvJbGjGdL1ofIfAh/xfyUW215bP2VRbZaPwd0LkeinXy8Z6a1PdWyKFJya p8Txw9NkfE4u3ns/js8cpYRiDpIm+fWlnekhQAMwUN78Azfl6cDJyPBkJa2+nRT/q/lR NbipxR60uW3U6gt1NwpsQOrcv6a3dA89lmkXeDTnsK8a8iPcLS+4g2xpBxoopHNbZSPx dD1KD3cHX66khm44z8ikobko7Jh1WYlhkesg53+CIPUhI10ruzFH2QGZ3qsVMAe5kr9a l73A== X-Forwarded-Encrypted: i=1; AJvYcCVA71CXTTItT3YdShZh1f8k0pWVO0uKQmcQddebh2luS9l/0sJihNRGs2R+lOnRNb/Td5wCeIJGTKBnJivl3qFXyIE= X-Gm-Message-State: AOJu0YzGIuBCBzjhWJq80CboezpLKoYKH1PG+hO8deDFdA0rTwOBrt16 ykjgy+GPC3T78f6ZVDx4vp5VLTB+BhrAMp3yyqDRSe2WD7pZsdgxprajaJWqhtm2nHy6hwfzTS8 uXXdH8KicxRBx2t8WhDtwnerrsX8= X-Google-Smtp-Source: AGHT+IFJ4GZpomcWqKxmvKD7WALEfeWkkwOWk4gsVBmLEQvG5nwF8VNqwnKx5gf9KELGgxZFENHAQGJoiXdFakfRsyI= X-Received: by 2002:a05:6512:3e0a:b0:52c:a809:62ef with SMTP id 2adb3069b0e04-52e825cd02bmr3733632e87.0.1719822728327; Mon, 01 Jul 2024 01:32:08 -0700 (PDT) MIME-Version: 1.0 References: <20240625121652.1189095-1-lgs156412@gmail.com> In-Reply-To: From: liangxi Liu Date: Mon, 1 Jul 2024 16:31:56 +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: multipart/alternative; boundary="000000000000cc7d37061c2b6ef5" X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 45035160018 X-Stat-Signature: rqgo5y7wnsrq9cznkqza1n3pk7io5r5n X-HE-Tag: 1719822729-253248 X-HE-Meta: U2FsdGVkX1+PW0hMShCkUMOOHrJ2V87w61qNdB3NS12xv8ms95O58oFFagq6zmqrUr/2BRT7rEYXi+fd4kWMqg72cTXcR7nWawLTuR1XAvsTmpHr/0Zk2wwgEjRYwLkYXuOGUjsNeoZ8KA/iwmVD+hjdjY/qBOPWSXLAIhMuGD9RPtC37yeov2RLr6JAPyTeW/EPQ2zaLLRxRLIzbRXwzXpnRF3iU+Z/e7nKRr7FzY/dOt2XiBvJu26ZTYefa0g3xEmsTWQZn1OGFChCC4wu1HyIjRDs3Hx81+k3FXGpqgJq1HdIgkULqkZvg4U2XrAx6+D9OavqF4N6wC7mUT8Vf/UnBxBX09rE8P9DjnE/ugIw24P8pLnDPz174DxC+JPKgmGYwJbxK+F/vzV/gbaJos7JpoK7WvYNofBS82T7iIGjWpVcNxU7FQx+qT6Z3CEb6+H68xgVT993unlo1QzRNbpnPtywXdYg19HxCIq0XiIhQTuO/xWLs3wwUCyUxyuxLi5FtwN3Bg1TdTF91/sMwuhXTq90dhHRE5qxMf0Ew9FL+bCPp1YS6lSrVh7b019H3bROVZ+svIo4+09nvKfHgQ2yxZPSMpy2RqsXUK7kFxrgAPpunVOjNd1xQS+eoKVXpu8pqmzS/RXA5OyfmsC111V8VIrbzX0rEP8ROaYOqGmaO05+dTR0JmySdd9bGaUPmqSwbu48vtWboyQy7S2ylq8Jo1yI3ptXzFLW4OojQsmhLDSj9s8+scNDZhh2IjYoxaJ4ZeZ3Gr647vAULJQjO2wy1Fc+W/9GsnTBC2ldGDHbBtNbb9lNcUF1WXQzgKa2WSChSAT8pzihZy21QFOPFsJ2eruCUCgtJJNaowyLuyBHKE2NHhbGlxA94uFR1XmHrov+geqU8XsexWgZFRI00KFTkluEko3340zwFZeXfOzIYRv/KTfLMCTNslCrXPJXDnZ0gFJkh21I1Y+Bylv +ukPJpyq aHzhyN9di6Py+NPh4MTR80drlc+X+6rn2zOk9wvIXeQfMr28hzxAafS+UUwroVpHq3jdyZFPWR03DRf++oYswb/95QtgS5mvR1EOVWQLzB/sZx2v0OjdV2MDix9Zqjg5vnw69xwRw3jI/l66yVXCHUlDDGhJlC3gErPOgGeq6Tu6W12bzW4g4tnK5DvGfVet1Y47sEGUUtvGteP0Z/HHbG22KBO3X+zThfqTgBYTXiPPKgjl2iBI5ujsVGu7Qi7WwZM5H3HYXcGimidhjtoVOE54rlwcSzz1w0Vy05tjQx1GLPQ1THSpYeRRes4MRRJg7LYkVlySp5AIUmQylgOJD7Z8oUUfOIJGpsSL9eJ8JzeXFX+sqHwC+jzXMsqUbJeGEplt59K3il6pL8B2pKiDHOeD1EaQ3LomXV8tsQcve09FRz6WhehKEvsNNMlLIVeUo9JTS0r166xRIgdXrCOwVIKMg9rkFy/Fe0XSBwPdAnIAqvmCxFj0TwISWyjV3QtXrq86wki7J8egR71ehYFRUtUhFyw== 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: --000000000000cc7d37061c2b6ef5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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? On Wed, Jun 26, 2024 at 1:05=E2=80=AFPM Mike Rapoport wro= te: > 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. > --000000000000cc7d37061c2b6ef5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Yes. we have a reserved memory used for d= isplay the image, which needs to be deleted from memblock.reserved list(memblock_free
()) after display and then = released into the buddy system(free_reserve= d_page
()). Should I use memblock_free() or another API?

On Wed, Jun 26= , 2024 at 1:05=E2=80=AFPM Mike Rapoport <rppt@kernel.org> wrote:
On Tue, Jun 25, 2024 at 08:16:52PM +0800, Guanshun Liu w= rote:
> 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, rig= ht?

And anyway, memblock_free() will not actually free the memory after __init.=

> freeing of bootsplash reservations passed to Linux by the bootloader.<= br> >
> Signed-off-by: Guanshun Liu <lgs156412@gmail.com>
> ---
>=C2=A0 mm/memblock.c | 3 +++
>=C2=A0 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)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (ptr)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0memblock_phys_fr= ee(__pa(ptr), size);
>=C2=A0 }
> +#ifdef CONFIG_ARCH_KEEP_MEMBLOCK
> +EXPORT_SYMBOL_GPL(memblock_free);
> +#endif
>=C2=A0
>=C2=A0 /**
>=C2=A0 =C2=A0* memblock_phys_free - free boot memory block
> --
> 2.25.1
>

--
Sincerely yours,
Mike.
--000000000000cc7d37061c2b6ef5--