All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Wang, Matt" <Matt.Wang@Dell.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: Make  __memblock_free_early a wrapper of memblock_free rather dup it
Date: Sun, 25 Nov 2018 12:29:41 +0200	[thread overview]
Message-ID: <20181125102940.GE28634@rapoport-lnx> (raw)
In-Reply-To: <20181121212740.84884a0c4532334d81fc6961@linux-foundation.org>

On Wed, Nov 21, 2018 at 09:27:40PM -0800, Andrew Morton wrote:
> On Thu, 22 Nov 2018 04:01:53 +0000 "Wang, Matt" <Matt.Wang@Dell.com> wrote:
> 
> > Subject: [PATCH] Make __memblock_free_early a wrapper of memblock_free rather
> >  than dup it
> > 
> > Signed-off-by: Wentao Wang <witallwang@gmail.com>
> > ---
> >  mm/memblock.c | 7 +------
> >  1 file changed, 1 insertion(+), 6 deletions(-)
> > 
> > diff --git a/mm/memblock.c b/mm/memblock.c
> > index 9a2d5ae..08bf136 100644
> > --- a/mm/memblock.c
> > +++ b/mm/memblock.c
> > @@ -1546,12 +1546,7 @@ void * __init memblock_alloc_try_nid(
> >   */
> >  void __init __memblock_free_early(phys_addr_t base, phys_addr_t size)
> >  {
> > -	phys_addr_t end = base + size - 1;
> > -
> > -	memblock_dbg("%s: [%pa-%pa] %pF\n",
> > -		     __func__, &base, &end, (void *)_RET_IP_);
> > -	kmemleak_free_part_phys(base, size);
> > -	memblock_remove_range(&memblock.reserved, base, size);
> > +	memblock_free(base, size);
> >  }
> 
> hm, I suppose so.  The debug messaging becomes less informative but the
> duplication is indeed irritating and if we really want to show the
> different caller info in the messages, we could do it in a smarter
> fashion.

Sorry for jumping late, but I believe the better way would be simply
replace the only two calls to __memblock_free_early() with calls to
memblock_free().

The patch below is based on the current mmots.

>From 4de5a2aabb0b898c6b4add6bf91175fc55725362 Mon Sep 17 00:00:00 2001
From: Mike Rapoport <rppt@linux.ibm.com>
Date: Sun, 25 Nov 2018 12:20:46 +0200
Subject: [PATCH] memblock: replace usage of __memblock_free_early() with
 memblock_free()

The __memblock_free_early() function is only used by the convinince
wrappers, so essentially we wrap a call to memblock_free() twice.
Replace calls of __memblock_free_early() with calls to memblock_free() and
drop the former.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 include/linux/memblock.h |  5 ++---
 mm/memblock.c            | 22 ++++++++--------------
 2 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 5ba52a7..e9e4017 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -154,7 +154,6 @@ void __next_mem_range_rev(u64 *idx, int nid, enum memblock_flags flags,
 void __next_reserved_mem_region(u64 *idx, phys_addr_t *out_start,
 				phys_addr_t *out_end);
 
-void __memblock_free_early(phys_addr_t base, phys_addr_t size);
 void __memblock_free_late(phys_addr_t base, phys_addr_t size);
 
 /**
@@ -452,13 +451,13 @@ static inline void * __init memblock_alloc_node_nopanic(phys_addr_t size,
 static inline void __init memblock_free_early(phys_addr_t base,
 					      phys_addr_t size)
 {
-	__memblock_free_early(base, size);
+	memblock_free(base, size);
 }
 
 static inline void __init memblock_free_early_nid(phys_addr_t base,
 						  phys_addr_t size, int nid)
 {
-	__memblock_free_early(base, size);
+	memblock_free(base, size);
 }
 
 static inline void __init memblock_free_late(phys_addr_t base, phys_addr_t size)
diff --git a/mm/memblock.c b/mm/memblock.c
index 0559979..b842ce1 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -800,7 +800,14 @@ int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size)
 	return memblock_remove_range(&memblock.memory, base, size);
 }
 
-
+/**
+ * memblock_free - free boot memory block
+ * @base: phys starting address of the  boot memory block
+ * @size: size of the boot memory block in bytes
+ *
+ * Free boot memory block previously allocated by memblock_alloc_xx() API.
+ * The freeing memory will not be released to the buddy allocator.
+ */
 int __init_memblock memblock_free(phys_addr_t base, phys_addr_t size)
 {
 	phys_addr_t end = base + size - 1;
@@ -1600,19 +1607,6 @@ void * __init memblock_alloc_try_nid(
 }
 
 /**
- * __memblock_free_early - free boot memory block
- * @base: phys starting address of the  boot memory block
- * @size: size of the boot memory block in bytes
- *
- * Free boot memory block previously allocated by memblock_alloc_xx() API.
- * The freeing memory will not be released to the buddy allocator.
- */
-void __init __memblock_free_early(phys_addr_t base, phys_addr_t size)
-{
-	memblock_free(base, size);
-}
-
-/**
  * __memblock_free_late - free bootmem block pages directly to buddy allocator
  * @base: phys starting address of the  boot memory block
  * @size: size of the boot memory block in bytes
-- 
2.7.4


-- 
Sincerely yours,
Mike.

  reply	other threads:[~2018-11-25 10:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22  4:01 Make __memblock_free_early a wrapper of memblock_free rather dup it Wang, Matt
2018-11-22  5:27 ` Andrew Morton
2018-11-25 10:29   ` Mike Rapoport [this message]
2018-11-26  2:25     ` Wang, Matt
2018-11-26  7:13       ` Mike Rapoport

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181125102940.GE28634@rapoport-lnx \
    --to=rppt@linux.ibm.com \
    --cc=Matt.Wang@Dell.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.