[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210126182648.GR6332@kernel.org>
Date: Tue, 26 Jan 2021 20:26:48 +0200
From: Mike Rapoport <rppt@...nel.org>
To: David Hildenbrand <david@...hat.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linux-csky@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Guo Ren <guoren@...nel.org>,
Oscar Salvador <osalvador@...e.de>,
Michal Hocko <mhocko@...nel.org>,
Wei Yang <richard.weiyang@...ux.alibaba.com>
Subject: Re: [PATCH v1] csky: use free_initmem_default() in free_initmem()
On Tue, Jan 26, 2021 at 07:14:20PM +0100, David Hildenbrand wrote:
> The existing code is essentially
> free_initmem_default()->free_reserved_area() without poisoning.
>
> Note that existing code missed to update the managed page count of the
> zone.
>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Guo Ren <guoren@...nel.org>
> Cc: Mike Rapoport <rppt@...nel.org>
> Cc: Oscar Salvador <osalvador@...e.de>
> Cc: Michal Hocko <mhocko@...nel.org>
> Cc: Wei Yang <richard.weiyang@...ux.alibaba.com>
> Signed-off-by: David Hildenbrand <david@...hat.com>
> ---
>
> Not compile tested as documentation on how to get
> https://gitlab.com/c-sky/buildroot
> running, especially with a custom kernel, is a bit sparse.
You can pick a cross-compiler from here:
https://mirrors.edge.kernel.org/pub/tools/crosstool/
> ---
> arch/csky/mm/init.c | 17 +----------------
> 1 file changed, 1 insertion(+), 16 deletions(-)
>
> diff --git a/arch/csky/mm/init.c b/arch/csky/mm/init.c
> index 81e4e5e78f38..894050a8ce09 100644
> --- a/arch/csky/mm/init.c
> +++ b/arch/csky/mm/init.c
> @@ -110,24 +110,9 @@ void __init mem_init(void)
> mem_init_print_info(NULL);
> }
>
> -extern char __init_begin[], __init_end[];
> -
> void free_initmem(void)
> {
> - unsigned long addr;
> -
> - addr = (unsigned long) &__init_begin;
> -
> - while (addr < (unsigned long) &__init_end) {
> - ClearPageReserved(virt_to_page(addr));
> - init_page_count(virt_to_page(addr));
> - free_page(addr);
> - totalram_pages_inc();
> - addr += PAGE_SIZE;
> - }
> -
> - pr_info("Freeing unused kernel memory: %dk freed\n",
> - ((unsigned int)&__init_end - (unsigned int)&__init_begin) >> 10);
> + free_initmem_default(-1);
> }
>
> void pgd_init(unsigned long *p)
> --
> 2.29.2
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists