[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250405023018.g2ae52nrz2757b3n@master>
Date: Sat, 5 Apr 2025 02:30:18 +0000
From: Wei Yang <richard.weiyang@...il.com>
To: "Masami Hiramatsu (Google)" <mhiramat@...nel.org>
Cc: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org,
Mark Rutland <mark.rutland@....com>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Rapoport <rppt@...nel.org>, linux-mm@...ck.org
Subject: Re: [PATCH v4 1/2] mm/memblock: Add reserved memory release function
On Wed, Feb 19, 2025 at 12:08:58AM +0900, Masami Hiramatsu (Google) wrote:
>From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
>
>Add reserve_mem_release_by_name() to release a reserved memory region
>with a given name. This allows us to release reserved memory which is
>defined by kernel cmdline, after boot.
>
>Signed-off-by: Masami Hiramatsu (Google) <mhiramat@...nel.org>
>Acked-by: Mike Rapoport (Microsoft) <rppt@...nel.org>
>Cc: Andrew Morton <akpm@...ux-foundation.org>
>Cc: linux-mm@...ck.org
>---
> Changes in v4:
> - Use free_reserved_area() according to Mike's comment.
> Changes in v2:
> - Rename reserved_mem_* to reserve_mem_*.
>---
> include/linux/mm.h | 1 +
> mm/memblock.c | 66 +++++++++++++++++++++++++++++++++++++++++++---------
> 2 files changed, 55 insertions(+), 12 deletions(-)
>
>diff --git a/include/linux/mm.h b/include/linux/mm.h
>index 7b1068ddcbb7..1ee9e7447485 100644
>--- a/include/linux/mm.h
>+++ b/include/linux/mm.h
>@@ -4123,6 +4123,7 @@ void vma_pgtable_walk_begin(struct vm_area_struct *vma);
> void vma_pgtable_walk_end(struct vm_area_struct *vma);
>
> int reserve_mem_find_by_name(const char *name, phys_addr_t *start, phys_addr_t *size);
>+int reserve_mem_release_by_name(const char *name);
>
> #ifdef CONFIG_64BIT
> int do_mseal(unsigned long start, size_t len_in, unsigned long flags);
>diff --git a/mm/memblock.c b/mm/memblock.c
>index 95af35fd1389..8cd95f60015d 100644
>--- a/mm/memblock.c
>+++ b/mm/memblock.c
>@@ -16,6 +16,7 @@
> #include <linux/kmemleak.h>
> #include <linux/seq_file.h>
> #include <linux/memblock.h>
>+#include <linux/mutex.h>
>
> #include <asm/sections.h>
> #include <linux/io.h>
>@@ -2283,6 +2284,7 @@ struct reserve_mem_table {
> };
> static struct reserve_mem_table reserved_mem_table[RESERVE_MEM_MAX_ENTRIES];
> static int reserved_mem_count;
>+static DEFINE_MUTEX(reserve_mem_lock);
>
This looks break the memblock tests in tools/testing/memblock.
memblock.c:2289:8: warning: type defaults to ‘int’ in declaration of ‘DEFINE_MUTEX’ [-Wimplicit-int]
2289 | static DEFINE_MUTEX(reserve_mem_lock);
| ^~~~~~~~~~~~
memblock.c:2289:1: warning: parameter names (without types) in function declaration
2289 | static DEFINE_MUTEX(reserve_mem_lock);
| ^~~~~~
memblock.c: In function ‘reserve_mem_find_by_name’:
memblock.c:2332:9: warning: implicit declaration of function ‘guard’ [-Wimplicit-function-declaration]
2332 | guard(mutex)(&reserve_mem_lock);
| ^~~~~
Powered by blists - more mailing lists