Thread (21 messages) 21 messages, 4 authors, 2020-12-13

Re: [PATCH 11/13] m68k/mm: make node data and node setup depend on CONFIG_DISCONTIGMEM

From: Mike Rapoport <rppt@kernel.org>
Date: 2020-10-29 00:24:03
Also in: linux-alpha, linux-doc, linux-fsdevel, linux-m68k, linux-mm, lkml

On Thu, Oct 29, 2020 at 07:14:38AM +1300, Michael Schmitz wrote:
Hi Mike,

On 29/10/20 12:16 AM, Mike Rapoport wrote:
quoted
Hi Geert,

On Wed, Oct 28, 2020 at 10:25:49AM +0100, Geert Uytterhoeven wrote:
quoted
Hi Mike,

On Tue, Oct 27, 2020 at 12:31 PM Mike Rapoport [off-list ref] wrote:
quoted
From: Mike Rapoport <redacted>

The pg_data_t node structures and their initialization currently depends on
!CONFIG_SINGLE_MEMORY_CHUNK. Since they are required only for DISCONTIGMEM
make this dependency explicit and replace usage of
CONFIG_SINGLE_MEMORY_CHUNK with CONFIG_DISCONTIGMEM where appropriate.

The CONFIG_SINGLE_MEMORY_CHUNK was implicitly disabled on the ColdFire MMU
variant, although it always presumed a single memory bank. As there is no
actual need for DISCONTIGMEM in this case, make sure that ColdFire MMU
systems set CONFIG_SINGLE_MEMORY_CHUNK to 'y'.

Signed-off-by: Mike Rapoport <redacted>
Thanks for your patch!
quoted
---
  arch/m68k/Kconfig.cpu           | 6 +++---
  arch/m68k/include/asm/page_mm.h | 2 +-
  arch/m68k/mm/init.c             | 4 ++--
  3 files changed, 6 insertions(+), 6 deletions(-)
Is there any specific reason you didn't convert the checks for
CONFIG_SINGLE_MEMORY_CHUNK in arch/m68k/kernel/setup_mm.c
In arch/m68k/kernel/setup_mm.c the CONFIG_SINGLE_MEMORY_CHUNK is needed
for the case when a system has two banks, the kernel is loaded into the
second bank and so the first bank cannot be used as normal memory. It
does not matter what memory model will be used in this case.

That case used to be detected just fine at run time (by dint of the second
memory chunk having an address below the first; the chunk the kernel resides
in is always listed first), even without using CONFIG_SINGLE_MEMORY_CHUNK.
 
Right, CONFIG_SINGLE_MEMORY_CHUNK in arch/m68k/kernel/setup_mm.c is used
to force using a single bank of memory regardless of run time detection. 
Unless you changed that behaviour (and I see nothing in your patch that
would indicate that), this is still true.

Converting the check as Geert suggested, without also adding a test for
out-of-order memory bank addresses, would implicitly treat DISCONTIGMEM as 
SINGLE_MEMORY_CHUNK, regardless of bank ordering. I don't think that is what
we really want?
It is in a way the case now when !SINGLE_MEMORY_CHUNK == DISCONTIGMEM.
So forcing SIGNLE_MEMORY_CHUNK at compile time would also mean forcing
FLATMEM.

After these changes I think SINGLE_MEMORY_CHUNK is not needed at all.
Cheers,

    Michael

quoted
quoted
and arch/m68k/include/asm/virtconvert.h?
I remember I had build errors and troubles with include file
dependencies if I changed it there, but I might be mistaken. I'll
recheck again.
quoted
Gr{oetje,eeting}s,

                         Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                 -- Linus Torvalds
-- 
Sincerely yours,
Mike.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help