All of lore.kernel.org
 help / color / mirror / Atom feed
From: Serge Semin <fancer.lancer@gmail.com>
To: Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mike Rapoport <rppt@kernel.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Arnd Bergmann <arnd@arndb.de>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aleksandar Rikalo <arikalo@gmail.com>,
	Dragan Mladjenovic <dragan.mladjenovic@syrmia.com>,
	Chao-ying Fu <cfu@wavecomp.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Yinglu Yang <yangyinglu@loongson.cn>,
	Tiezhu Yang <yangtiezhu@loongson.cn>,
	Marc Zyngier <maz@kernel.org>,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 0/7] MIPS: mm: Fix some memory-related issues
Date: Wed, 22 Nov 2023 21:23:58 +0300	[thread overview]
Message-ID: <20231122182419.30633-1-fancer.lancer@gmail.com> (raw)

Just recently I've rebased my MIPS32-related work from kernel 6.5-rc4 onto
the latest kernel 6.7-rc1 and immediately got into a bootup-time
mm-related bug (see patches 3-5 in this series). After fixing it I decided
it was time to submit for review the generic MIPS code fixes which I have
been collecting in my local repo for the last year. I was going to submit
them a bit later after I finished working on a patchset with my SoC
arch-specific changes, but since it was getting bigger and bigger, it
turned to be reasonable to spill out the generic part of series right away
especially seeing it might get to be useful in the most recent kernel.

So this series starts with the MIPS-specific dmi_early_remap()
implementation fix. It is utilized by the DMI driver in the framework of
the dmi_setup() method, which is called at the very early boot stage - in
setup_arch((). No VM available at that stage which is required for the
ioremap_cache() to properly work. Thus it was a mistake to have the
dmi_early_remap() macro-function defined as ioremap_cache(). It should
have been ioremap_uc() in first place.

After that goes a fix for the high-memory zone PFNs calculation procedure
on MIPS. It turned out that after some not that recent commit the
IO-memory PFNs got to the high-memory even though they were directly
reachable, thus should have been left in the normal zone.

Then a series of fixes for the recently discovered mm-bug is presented.
Any attempt to re-map the IO-memory with the cached attribute caused the
bootup procedure to crash with the "Unhandled kernel unaligned access"
message. After some digging I found out that the problem was in the
uninitialized IO-memory pages. Please see the patch "mips: Fix max_mapnr
being uninitialized on early stages" description for the detailed
explanation of the problem and suggested fix. Afterwards I submitted
several cleanup patches for the MIPS/mm and generic mm code.

The patchset is closed with a small improvement which sets the MIPS
board/machine name to the dump-stack module in order to print
arch-personalized oopses in the same way as it's done on ARM, ARM64,
RISC-V, etc.

That's it for today.) Thanks for review in advance. Any tests are very
welcome.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: Aleksandar Rikalo <arikalo@gmail.com>
Cc: Dragan Mladjenovic <dragan.mladjenovic@syrmia.com>
Cc: Chao-ying Fu <cfu@wavecomp.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Yinglu Yang <yangyinglu@loongson.cn>,
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Marc Zyngier <maz@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (7):
  mips: dmi: Fix early remap on MIPS32
  mips: Fix incorrect max_low_pfn adjustment
  mips: Fix max_mapnr being uninitialized on early stages
  mips: Optimize max_mapnr init procedure
  mm/mm_init.c: Extend init unavailable range doc info
  mm/mm_init.c: Append '\n' to the unavailable ranges log-message
  mips: Set dump-stack arch description

 arch/mips/include/asm/dmi.h |  2 +-
 arch/mips/kernel/prom.c     |  2 ++
 arch/mips/kernel/setup.c    |  4 ++--
 arch/mips/mm/init.c         | 16 +++++++++-------
 mm/mm_init.c                |  3 ++-
 5 files changed, 16 insertions(+), 11 deletions(-)

-- 
2.42.1


             reply	other threads:[~2023-11-22 18:24 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-22 18:23 Serge Semin [this message]
2023-11-22 18:23 ` [PATCH 1/7] mips: dmi: Fix early remap on MIPS32 Serge Semin
2023-11-22 19:35   ` Arnd Bergmann
2023-11-23  9:32     ` Serge Semin
2023-11-23 12:13       ` Jiaxun Yang
2023-11-23 12:29         ` Thomas Bogendoerfer
2023-11-23 15:07           ` Jiaxun Yang
2023-11-23 16:07             ` Thomas Bogendoerfer
2023-11-23 17:33               ` Jiaxun Yang
2023-11-24 18:52                 ` Serge Semin
2023-11-24 22:03                   ` Jiaxun Yang
2023-11-27 16:23                     ` Serge Semin
2023-11-27 21:08                       ` Jiaxun Yang
2023-11-28 11:34                         ` Serge Semin
2023-11-28 15:46                           ` Jiaxun Yang
2023-11-30 19:16                             ` Serge Semin
2023-12-01  0:13                               ` Jiaxun Yang
2023-12-01 14:54                                 ` Serge Semin
2023-12-01 15:10                                   ` Jiaxun Yang
2023-12-01 18:26                                     ` Serge Semin
2023-11-28 12:41                       ` Arnd Bergmann
2023-11-28 13:52                         ` Serge Semin
2023-11-28 21:59                           ` Arnd Bergmann
2023-11-30 19:26                             ` Serge Semin
2023-11-24 22:34                   ` Jiaxun Yang
2023-11-22 18:24 ` [PATCH 2/7] mips: Fix incorrect max_low_pfn adjustment Serge Semin
2023-11-22 18:24 ` [PATCH 3/7] mips: Fix max_mapnr being uninitialized on early stages Serge Semin
2023-11-22 18:24 ` [PATCH 4/7] mips: Optimize max_mapnr init procedure Serge Semin
2023-11-22 18:24 ` [PATCH 5/7] mm/mm_init.c: Extend init unavailable range doc info Serge Semin
2023-11-23 10:18   ` Mike Rapoport
2023-11-23 10:42     ` Serge Semin
2023-11-24  8:19       ` Mike Rapoport
2023-11-24 11:18         ` Serge Semin
2023-11-28  7:13           ` Mike Rapoport
2023-11-28 10:51             ` Serge Semin
2023-11-29  6:14               ` Mike Rapoport
2023-11-30 13:30                 ` Serge Semin
2023-11-22 18:24 ` [PATCH 6/7] mm/mm_init.c: Append '\n' to the unavailable ranges log-message Serge Semin
2023-11-23 10:06   ` Mike Rapoport
2023-11-22 18:24 ` [PATCH 7/7] mips: Set dump-stack arch description Serge Semin
2023-11-22 18:29 ` [PATCH 0/7] MIPS: mm: Fix some memory-related issues Andrew Morton
2023-11-23 10:12   ` 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=20231122182419.30633-1-fancer.lancer@gmail.com \
    --to=fancer.lancer@gmail.com \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=akpm@linux-foundation.org \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=arikalo@gmail.com \
    --cc=arnd@arndb.de \
    --cc=cfu@wavecomp.com \
    --cc=dragan.mladjenovic@syrmia.com \
    --cc=jiaxun.yang@flygoat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maz@kernel.org \
    --cc=rppt@kernel.org \
    --cc=tsbogend@alpha.franken.de \
    --cc=willy@infradead.org \
    --cc=yangtiezhu@loongson.cn \
    --cc=yangyinglu@loongson.cn \
    /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.