linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
To: Serge Semin <fancer.lancer@gmail.com>, <ralf@linux-mips.org>,
	<paul.burton@imgtec.com>, <rabinv@axis.com>,
	<matt.redfearn@imgtec.com>, <james.hogan@imgtec.com>,
	<alexander.sverdlin@nokia.com>, <robh+dt@kernel.org>,
	<frowand.list@gmail.com>
Cc: <Sergey.Semin@t-platforms.ru>, <linux-mips@linux-mips.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 00/21] MIPS memblock: Remove bootmem code and switch to NO_BOOTMEM
Date: Mon, 23 Jan 2017 08:55:02 +0100	[thread overview]
Message-ID: <7c333d34-fda6-9302-b84e-c0785c23733e@imgtec.com> (raw)
In-Reply-To: <1482113266-13207-1-git-send-email-fancer.lancer@gmail.com>

Hi Serge,

Thanks for this patch series, it's really useful. I've tested it on 
Malta and Ci40 and it seems to work well (I've posted a few small 
comments separately).


On 19.12.2016 03:07, Serge Semin wrote:
> Most of the modern platforms supported by linux kernel have already
> been cleaned up of old bootmem allocator by moving to nobootmem
> interface wrapping up the memblock. This patchset is the first
> attempt to do the similar improvement for MIPS for UMA systems
> only.
>
> Even though the porting was performed as much careful as possible
> there still might be problem with support of some platforms,
> especially Loonson3 or SGI IP27, which perform early memory manager
> initialization by their self.

> The patchset is split so individual patch being consistent in
> functional and buildable ways. But the MIPS early memory manager
> will work correctly only either with or without the whole set being
> applied. For the same reason a reviewer should not pay much attention
> to methods bootmem_init(), arch_mem_init(), paging_init() and
> mem_init() until they are fully refactored.

I'm not sure this can be merged that way? It would be up to Ralf to 
decide, but it is generally expected that all intermediate patches not 
only build, but also work correctly. I understand that this might be 
difficult to achieve given the scale of changes required here.

> The patchset is applied on top of kernel v4.9.

Can you please work on cleaning up the issues discussed in the comments 
so far as well as rebasing (and updating) the changes onto linux-next? 
There are a few patches I made related to kexec and kernel relocation 
that will force changes in your code (although I admit that the changes 
I did for kexec/relocation were in some places unnecessarily complex 
because of the mess in the bootmem handling in MIPS that you are now 
trying to clean up).


Thanks,
Marcin

> Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
>
> Serge Semin (21):
>   MIPS memblock: Unpin dts memblock sanity check method
>   MIPS memblock: Add dts mem and reserved-mem callbacks
>   MIPS memblock: Alter traditional add_memory_region() method
>   MIPS memblock: Alter user-defined memory parameter parser
>   MIPS memblock: Alter initrd memory reservation method
>   MIPS memblock: Alter kexec-crashkernel parameters parser
>   MIPS memblock: Alter elfcorehdr parameters parser
>   MIPS memblock: Move kernel parameters parser into individual method
>   MIPS memblock: Move kernel memory reservation to individual method
>   MIPS memblock: Discard bootmem allocator initialization
>   MIPS memblock: Add memblock sanity check method
>   MIPS memblock: Add memblock print outs in debug
>   MIPS memblock: Add memblock allocator initialization
>   MIPS memblock: Alter IO resources initialization method
>   MIPS memblock: Alter weakened MAAR initialization method
>   MIPS memblock: Alter paging initialization method
>   MIPS memblock: Alter high memory freeing method
>   MIPS memblock: Slightly improve buddy allocator init method
>   MIPS memblock: Add print out method of kernel virtual memory layout
>   MIPS memblock: Add free low memory test method call
>   MIPS memblock: Deactivate old bootmem allocator
>
>  arch/mips/Kconfig        |   2 +-
>  arch/mips/kernel/prom.c  |  32 +-
>  arch/mips/kernel/setup.c | 958 +++++++++++++++--------------
>  arch/mips/mm/init.c      | 234 ++++---
>  drivers/of/fdt.c         |  47 +-
>  include/linux/of_fdt.h   |   1 +
>  6 files changed, 739 insertions(+), 535 deletions(-)
>

WARNING: multiple messages have this Message-ID (diff)
From: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
To: Serge Semin <fancer.lancer@gmail.com>,
	ralf@linux-mips.org, paul.burton@imgtec.com, rabinv@axis.com,
	matt.redfearn@imgtec.com, james.hogan@imgtec.com,
	alexander.sverdlin@nokia.com, robh+dt@kernel.org,
	frowand.list@gmail.com
Cc: Sergey.Semin@t-platforms.ru, linux-mips@linux-mips.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/21] MIPS memblock: Remove bootmem code and switch to NO_BOOTMEM
Date: Mon, 23 Jan 2017 08:55:02 +0100	[thread overview]
Message-ID: <7c333d34-fda6-9302-b84e-c0785c23733e@imgtec.com> (raw)
Message-ID: <20170123075502.n4N9MUxcDzIE6QESdQpYHGRKAmW_LbUQDT0UnycEK5c@z> (raw)
In-Reply-To: <1482113266-13207-1-git-send-email-fancer.lancer@gmail.com>

Hi Serge,

Thanks for this patch series, it's really useful. I've tested it on 
Malta and Ci40 and it seems to work well (I've posted a few small 
comments separately).


On 19.12.2016 03:07, Serge Semin wrote:
> Most of the modern platforms supported by linux kernel have already
> been cleaned up of old bootmem allocator by moving to nobootmem
> interface wrapping up the memblock. This patchset is the first
> attempt to do the similar improvement for MIPS for UMA systems
> only.
>
> Even though the porting was performed as much careful as possible
> there still might be problem with support of some platforms,
> especially Loonson3 or SGI IP27, which perform early memory manager
> initialization by their self.

> The patchset is split so individual patch being consistent in
> functional and buildable ways. But the MIPS early memory manager
> will work correctly only either with or without the whole set being
> applied. For the same reason a reviewer should not pay much attention
> to methods bootmem_init(), arch_mem_init(), paging_init() and
> mem_init() until they are fully refactored.

I'm not sure this can be merged that way? It would be up to Ralf to 
decide, but it is generally expected that all intermediate patches not 
only build, but also work correctly. I understand that this might be 
difficult to achieve given the scale of changes required here.

> The patchset is applied on top of kernel v4.9.

Can you please work on cleaning up the issues discussed in the comments 
so far as well as rebasing (and updating) the changes onto linux-next? 
There are a few patches I made related to kexec and kernel relocation 
that will force changes in your code (although I admit that the changes 
I did for kexec/relocation were in some places unnecessarily complex 
because of the mess in the bootmem handling in MIPS that you are now 
trying to clean up).


Thanks,
Marcin

> Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
>
> Serge Semin (21):
>   MIPS memblock: Unpin dts memblock sanity check method
>   MIPS memblock: Add dts mem and reserved-mem callbacks
>   MIPS memblock: Alter traditional add_memory_region() method
>   MIPS memblock: Alter user-defined memory parameter parser
>   MIPS memblock: Alter initrd memory reservation method
>   MIPS memblock: Alter kexec-crashkernel parameters parser
>   MIPS memblock: Alter elfcorehdr parameters parser
>   MIPS memblock: Move kernel parameters parser into individual method
>   MIPS memblock: Move kernel memory reservation to individual method
>   MIPS memblock: Discard bootmem allocator initialization
>   MIPS memblock: Add memblock sanity check method
>   MIPS memblock: Add memblock print outs in debug
>   MIPS memblock: Add memblock allocator initialization
>   MIPS memblock: Alter IO resources initialization method
>   MIPS memblock: Alter weakened MAAR initialization method
>   MIPS memblock: Alter paging initialization method
>   MIPS memblock: Alter high memory freeing method
>   MIPS memblock: Slightly improve buddy allocator init method
>   MIPS memblock: Add print out method of kernel virtual memory layout
>   MIPS memblock: Add free low memory test method call
>   MIPS memblock: Deactivate old bootmem allocator
>
>  arch/mips/Kconfig        |   2 +-
>  arch/mips/kernel/prom.c  |  32 +-
>  arch/mips/kernel/setup.c | 958 +++++++++++++++--------------
>  arch/mips/mm/init.c      | 234 ++++---
>  drivers/of/fdt.c         |  47 +-
>  include/linux/of_fdt.h   |   1 +
>  6 files changed, 739 insertions(+), 535 deletions(-)
>

  parent reply	other threads:[~2017-01-23  7:55 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-19  2:07 [PATCH 00/21] MIPS memblock: Remove bootmem code and switch to NO_BOOTMEM Serge Semin
2016-12-19  2:07 ` [PATCH 01/21] MIPS memblock: Unpin dts memblock sanity check method Serge Semin
2016-12-19  4:21   ` kbuild test robot
2016-12-19  4:21     ` kbuild test robot
2016-12-19  4:28   ` kbuild test robot
2016-12-19  4:28     ` kbuild test robot
2016-12-22 20:57   ` Rob Herring
2016-12-22 21:57     ` Serge Semin
2016-12-19  2:07 ` [PATCH 02/21] MIPS memblock: Add dts mem and reserved-mem callbacks Serge Semin
2016-12-19  4:13   ` kbuild test robot
2016-12-19  4:13     ` kbuild test robot
2016-12-19  2:07 ` [PATCH 03/21] MIPS memblock: Alter traditional add_memory_region() method Serge Semin
2016-12-19  2:07 ` [PATCH 04/21] MIPS memblock: Alter user-defined memory parameter parser Serge Semin
2017-01-23  7:55   ` Marcin Nowakowski
2017-01-23  7:55     ` Marcin Nowakowski
2016-12-19  2:07 ` [PATCH 05/21] MIPS memblock: Alter initrd memory reservation method Serge Semin
2016-12-19  5:08   ` kbuild test robot
2016-12-19  5:08     ` kbuild test robot
2016-12-19  2:07 ` [PATCH 06/21] MIPS memblock: Alter kexec-crashkernel parameters parser Serge Semin
2016-12-19  2:07 ` [PATCH 07/21] MIPS memblock: Alter elfcorehdr " Serge Semin
2016-12-19  4:09   ` kbuild test robot
2016-12-19  4:09     ` kbuild test robot
2016-12-19  2:07 ` [PATCH 08/21] MIPS memblock: Move kernel parameters parser into individual method Serge Semin
2016-12-19  2:07 ` [PATCH 09/21] MIPS memblock: Move kernel memory reservation to " Serge Semin
2016-12-19  2:07 ` [PATCH 10/21] MIPS memblock: Discard bootmem allocator initialization Serge Semin
2016-12-19  4:28   ` kbuild test robot
2016-12-19  4:28     ` kbuild test robot
2017-01-23  7:55   ` Marcin Nowakowski
2017-01-23  7:55     ` Marcin Nowakowski
2016-12-19  2:07 ` [PATCH 11/21] MIPS memblock: Add memblock sanity check method Serge Semin
2016-12-19  2:07 ` [PATCH 12/21] MIPS memblock: Add memblock print outs in debug Serge Semin
2016-12-19  2:07 ` [PATCH 13/21] MIPS memblock: Add memblock allocator initialization Serge Semin
2016-12-19  2:07 ` [PATCH 14/21] MIPS memblock: Alter IO resources initialization method Serge Semin
2016-12-19  2:07 ` [PATCH 15/21] MIPS memblock: Alter weakened MAAR " Serge Semin
2016-12-19  2:07 ` [PATCH 16/21] MIPS memblock: Alter paging " Serge Semin
2016-12-19  2:07 ` [PATCH 17/21] MIPS memblock: Alter high memory freeing method Serge Semin
2016-12-19  2:07 ` [PATCH 18/21] MIPS memblock: Slightly improve buddy allocator init method Serge Semin
2016-12-19  2:07 ` [PATCH 19/21] MIPS memblock: Add print out method of kernel virtual memory layout Serge Semin
2016-12-19 12:04   ` Matt Redfearn
2016-12-19 12:04     ` Matt Redfearn
2016-12-19 12:09     ` Serge Semin
2016-12-19 13:02     ` James Hogan
2016-12-19 13:02       ` James Hogan
2016-12-19 13:15       ` Serge Semin
2016-12-19  2:07 ` [PATCH 20/21] MIPS memblock: Add free low memory test method call Serge Semin
2016-12-19  2:07 ` [PATCH 21/21] MIPS memblock: Deactivate old bootmem allocator Serge Semin
2017-01-23  7:55 ` Marcin Nowakowski [this message]
2017-01-23  7:55   ` [PATCH 00/21] MIPS memblock: Remove bootmem code and switch to NO_BOOTMEM Marcin Nowakowski
2017-03-02  3:06   ` Florian Fainelli
2017-01-23 14:51 ` Joshua Kinard
2017-05-22  9:48 ` Marcin Nowakowski
2017-05-22  9:48   ` Marcin Nowakowski
2017-05-22 10:26   ` Serge Semin
2017-05-22 12:19     ` Marcin Nowakowski
2017-05-22 12:19       ` Marcin Nowakowski
2017-05-22 12:47     ` Joshua Kinard
2017-05-22 13:03       ` Serge Semin
2017-05-22 13:20         ` Alexander Sverdlin
2017-05-22 13:20           ` Alexander Sverdlin
2017-05-22 13:29           ` Serge Semin

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=7c333d34-fda6-9302-b84e-c0785c23733e@imgtec.com \
    --to=marcin.nowakowski@imgtec.com \
    --cc=Sergey.Semin@t-platforms.ru \
    --cc=alexander.sverdlin@nokia.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=james.hogan@imgtec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=matt.redfearn@imgtec.com \
    --cc=paul.burton@imgtec.com \
    --cc=rabinv@axis.com \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).