Re: [RFC PATCH 00/29] mm: remove bootmem allocator
Mike Rapoport 於 2018年9月6日 週四 上午12:04寫道: > > Hi, > > These patches switch early memory managment to use memblock directly > without any bootmem compatibility wrappers. As the result both bootmem and > nobootmem are removed. > > There are still a couple of things to sort out, the most important is the > removal of bootmem usage in MIPS. > > Still, IMHO, the series is in sufficient state to post and get the early > feedback. > > The patches are build-tested with defconfig for most architectures (I > couldn't find a compiler for nds32 and unicore32) and boot-tested on x86 > VM. > Hi Mike, There are nds32 toolchains. https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/x86_64-gcc-8.1.0-nolibc-nds32le-linux.tar.gz https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz Sorry, we have no qemu yet.
Re: [PATCH 06/11] lockdep: consolidate the LOCKDEP_SUPPORT symbol
Hi Yamada, Masahiro Yamada 於 2019年2月15日 週五 下午3:17寫道: > > +CC Greentime Hu > +CC Vincent Chen > > > On Thu, Feb 14, 2019 at 2:40 AM Christoph Hellwig wrote: > > > > Add one definition to lib/Kconfig.debug and let the architectures > > select if it supported. > > > > Signed-off-by: Christoph Hellwig > > > This changes the behavior of nds32. > > So please leave a note in the commit description. > (Ideally, we want Ack of a NDS32 maintainer) > > Also, please do compile test for NDS32. > > > - > This commit changes CONFIG_LOCKDEP_SUPPORT to y for nds32. > > NDS32 selects LOCKEP_SUPPORT, but there was previously > no config entry of LOCKDEP_SUPPORT in nds32. > > It is now available in lib/Kconfig.debug, > so this commit enables LOCKDEP_SUPPORT for nds32. > - Thank you to let us know this change. I think it's ok to enable LOCKDEP_SUPPORT for nds32. I just verified it in 5.0.0-rc1.
Re: [PATCH 16/17] arch: remove HAVE_COPY_THREAD_TLS
Christian Brauner 於 2020年6月23日 週二 上午7:46寫道: > > All architectures support copy_thread_tls() now, so remove the legacy > copy_thread() function and the HAVE_COPY_THREAD_TLS config option. Everyone > uses the same process creation calling convention based on > copy_thread_tls() and struct kernel_clone_args. This will make it easier to > maintain the core process creation code under kernel/, simplifies the > callpaths and makes the identical for all architectures. > > Cc: Richard Henderson > Cc: Ivan Kokshaysky > Cc: Matt Turner > Cc: Vineet Gupta > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Mark Salter > Cc: Aurelien Jacquiot > Cc: Guo Ren > Cc: Yoshinori Sato > Cc: Brian Cain > Cc: Tony Luck > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Michal Simek > Cc: Thomas Bogendoerfer > Cc: Nick Hu > Cc: Greentime Hu > Cc: Vincent Chen > Cc: Ley Foon Tan > Cc: Jonas Bonn > Cc: Stefan Kristiansson > Cc: Stafford Horne > Cc: "James E.J. Bottomley" > Cc: Helge Deller > Cc: Michael Ellerman > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Paul Walmsley > Cc: Palmer Dabbelt > Cc: Albert Ou > Cc: Heiko Carstens > Cc: Vasily Gorbik > Cc: Christian Borntraeger > Cc: Rich Felker > Cc: "David S. Miller" > Cc: Jeff Dike > Cc: Richard Weinberger > Cc: Anton Ivanov > Cc: Guan Xuetao > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: x...@kernel.org > Cc: Peter Zijlstra > Cc: Kees Cook > Cc: Mike Rapoport > Cc: "Matthew Wilcox > Cc: Al Viro > Cc: linux-ker...@vger.kernel.org > Cc: linux-al...@vger.kernel.org > Cc: linux-snps-...@lists.infradead.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: linux-c6x-...@linux-c6x.org > Cc: linux-c...@vger.kernel.org > Cc: uclinux-h8-de...@lists.sourceforge.jp > Cc: linux-hexa...@vger.kernel.org > Cc: linux-i...@vger.kernel.org > Cc: linux-m...@lists.linux-m68k.org > Cc: linux-m...@vger.kernel.org > Cc: openr...@lists.librecores.org > Cc: linux-par...@vger.kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-ri...@lists.infradead.org > Cc: linux-s...@vger.kernel.org > Cc: linux...@vger.kernel.org > Cc: sparcli...@vger.kernel.org > Cc: linux...@lists.infradead.org > Cc: linux-xte...@linux-xtensa.org > Signed-off-by: Christian Brauner > [...] > diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig > index 7b6eaca81cce..e30298e99e1b 100644 > --- a/arch/nds32/Kconfig > +++ b/arch/nds32/Kconfig > @@ -48,7 +48,6 @@ config NDS32 > select HAVE_FUNCTION_GRAPH_TRACER > select HAVE_FTRACE_MCOUNT_RECORD > select HAVE_DYNAMIC_FTRACE > - select HAVE_COPY_THREAD_TLS > help > Andes(nds32) Linux support. Hi Christian, Thank you. Acked-by: Greentime Hu
Re: [PATCH 17/17] arch: rename copy_thread_tls() back to copy_thread()
Christian Brauner 於 2020年6月23日 週二 上午7:58寫道: > > Now that HAVE_COPY_THREAD_TLS has been removed, rename copy_thread_tls() > back simply copy_thread(). It's a simpler name, and doesn't imply that only > tls is copied here. This finishes an outstanding chunk of internal process > creation work since we've added clone3(). > > Cc: Richard Henderson > Cc: Ivan Kokshaysky > Cc: Matt Turner > Cc: Vineet Gupta > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Mark Salter > Cc: Aurelien Jacquiot > Cc: Guo Ren > Cc: Yoshinori Sato > Cc: Brian Cain > Cc: Tony Luck > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Michal Simek > Cc: Thomas Bogendoerfer > Cc: Nick Hu > Cc: Greentime Hu > Cc: Vincent Chen > Cc: Ley Foon Tan > Cc: Jonas Bonn > Cc: Stefan Kristiansson > Cc: Stafford Horne > Cc: "James E.J. Bottomley" > Cc: Helge Deller > Cc: Michael Ellerman > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Paul Walmsley > Cc: Palmer Dabbelt > Cc: Albert Ou > Cc: Christian Borntraeger > Cc: Rich Felker > Cc: "David S. Miller" > Cc: Jeff Dike > Cc: Richard Weinberger > Cc: Anton Ivanov > Cc: Guan Xuetao > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: x...@kernel.org > Cc: "H. Peter Anvin" > Cc: Chris Zankel > Cc: Max Filippov > Cc: Kees Cook > Cc: "Peter Zijlstra (Intel)" > Cc: "Matthew Wilcox (Oracle)" > Cc: Al Viro > Cc: linux-al...@vger.kernel.org > Cc: linux-ker...@vger.kernel.org > Cc: linux-snps-...@lists.infradead.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: linux-c6x-...@linux-c6x.org > Cc: linux-c...@vger.kernel.org > Cc: uclinux-h8-de...@lists.sourceforge.jp > Cc: linux-hexa...@vger.kernel.org > Cc: linux-i...@vger.kernel.org > Cc: linux-m...@lists.linux-m68k.org > Cc: linux-m...@vger.kernel.org > Cc: openr...@lists.librecores.org > Cc: linux-par...@vger.kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-ri...@lists.infradead.org > Cc: linux-s...@vger.kernel.org > Cc: linux...@vger.kernel.org > Cc: sparcli...@vger.kernel.org > Cc: linux...@lists.infradead.org > Cc: linux-xte...@linux-xtensa.org > Signed-off-by: Christian Brauner > --- > arch/alpha/kernel/process.c | 2 +- > arch/arc/kernel/process.c| 2 +- > arch/arm/kernel/process.c| 2 +- > arch/arm64/kernel/process.c | 2 +- > arch/c6x/kernel/process.c| 2 +- > arch/csky/kernel/process.c | 2 +- > arch/h8300/kernel/process.c | 2 +- > arch/hexagon/kernel/process.c| 2 +- > arch/ia64/kernel/process.c | 4 ++-- > arch/m68k/kernel/process.c | 2 +- > arch/microblaze/kernel/process.c | 2 +- > arch/mips/kernel/process.c | 2 +- > arch/nds32/kernel/process.c | 2 +- > arch/nios2/kernel/process.c | 2 +- > arch/openrisc/kernel/process.c | 4 ++-- > arch/parisc/kernel/process.c | 2 +- > arch/powerpc/kernel/process.c| 2 +- > arch/riscv/kernel/process.c | 2 +- > arch/s390/kernel/process.c | 2 +- > arch/sh/kernel/process_32.c | 2 +- > arch/sparc/kernel/process.c | 6 +++--- > arch/sparc/kernel/process_32.c | 2 +- > arch/sparc/kernel/process_64.c | 2 +- > arch/um/kernel/process.c | 2 +- > arch/unicore32/kernel/process.c | 2 +- > arch/x86/kernel/process.c| 2 +- > arch/x86/kernel/unwind_frame.c | 2 +- > arch/xtensa/kernel/process.c | 2 +- > include/linux/sched/task.h | 2 +- > kernel/fork.c| 2 +- > 30 files changed, 34 insertions(+), 34 deletions(-) > > [...] > diff --git a/arch/nds32/kernel/process.c b/arch/nds32/kernel/process.c > index 7dbb1bf64165..1020e2c6dcd8 100644 > --- a/arch/nds32/kernel/process.c > +++ b/arch/nds32/kernel/process.c > @@ -149,7 +149,7 @@ void flush_thread(void) > DEFINE_PER_CPU(struct task_struct *, __entry_task); > > asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); > -int copy_thread_tls(unsigned long clone_flags, unsigned long stack_start, > +int copy_thread(unsigned long clone_flags, unsigned long stack_start, > unsigned long stk_sz, struct task_struct *p, > unsigned long tls) > { Hi Christian, Thank you. Acked-by: Greentime Hu
Re: [PATCH 09/15] nds32: switch to generic version of pte allocation
Hi Mike, Mike Rapoport 於 2019年5月2日 週四 下午11:30寫道: > > The nds32 implementation of pte_alloc_one_kernel() differs from the generic > in the use of __GFP_RETRY_MAYFAIL flag, which is removed after the > conversion. > > The nds32 version of pte_alloc_one() missed the call to pgtable_page_ctor() > and also used __GFP_RETRY_MAYFAIL. Switching it to use generic > __pte_alloc_one() for the PTE page allocation ensures that page table > constructor is run and the user page tables are allocated with > __GFP_ACCOUNT. > > The conversion to the generic version of pte_free_kernel() removes the NULL > check for pte. > > The pte_free() version on nds32 is identical to the generic one and can be > simply dropped. > > Signed-off-by: Mike Rapoport > --- > arch/nds32/include/asm/pgalloc.h | 31 --- > 1 file changed, 4 insertions(+), 27 deletions(-) Thanks for your patch. I'm assuming this is going in along with the rest of the patches, so I'm not going to add it to my tree. Acked-by: Greentime Hu
Re: [PATCH] arch: vdso: add vdso linker script to 'targets' instead of extra-y
Masahiro Yamada 於 2020年9月1日 週二 上午2:23寫道: > > The vdso linker script is preprocessed on demand. > Adding it to 'targets' is enough to include the .cmd file. > > Signed-off-by: Masahiro Yamada > --- > > arch/arm64/kernel/vdso/Makefile | 2 +- > arch/arm64/kernel/vdso32/Makefile | 2 +- > arch/nds32/kernel/vdso/Makefile | 2 +- > arch/powerpc/kernel/vdso32/Makefile | 2 +- > arch/powerpc/kernel/vdso64/Makefile | 2 +- > arch/s390/kernel/vdso64/Makefile| 2 +- > 6 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile > index 45d5cfe46429..7cd8aafbe96e 100644 > --- a/arch/arm64/kernel/vdso/Makefile > +++ b/arch/arm64/kernel/vdso/Makefile > @@ -54,7 +54,7 @@ endif > GCOV_PROFILE := n > > obj-y += vdso.o > -extra-y += vdso.lds > +targets += vdso.lds > CPPFLAGS_vdso.lds += -P -C -U$(ARCH) > > # Force dependency (incbin is bad) > diff --git a/arch/arm64/kernel/vdso32/Makefile > b/arch/arm64/kernel/vdso32/Makefile > index d6adb4677c25..572475b7b7ed 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -155,7 +155,7 @@ asm-obj-vdso := $(addprefix $(obj)/, $(asm-obj-vdso)) > obj-vdso := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso) > > obj-y += vdso.o > -extra-y += vdso.lds > +targets += vdso.lds > CPPFLAGS_vdso.lds += -P -C -U$(ARCH) > > # Force dependency (vdso.s includes vdso.so through incbin) > diff --git a/arch/nds32/kernel/vdso/Makefile b/arch/nds32/kernel/vdso/Makefile > index 7c3c1ccb196e..55df25ef0057 100644 > --- a/arch/nds32/kernel/vdso/Makefile > +++ b/arch/nds32/kernel/vdso/Makefile > @@ -20,7 +20,7 @@ GCOV_PROFILE := n > > > obj-y += vdso.o > -extra-y += vdso.lds > +targets += vdso.lds > CPPFLAGS_vdso.lds += -P -C -U$(ARCH) > > # Force dependency > diff --git a/arch/powerpc/kernel/vdso32/Makefile > b/arch/powerpc/kernel/vdso32/Makefile > index 87ab1152d5ce..fd5072a4c73c 100644 > --- a/arch/powerpc/kernel/vdso32/Makefile > +++ b/arch/powerpc/kernel/vdso32/Makefile > @@ -29,7 +29,7 @@ ccflags-y := -shared -fno-common -fno-builtin -nostdlib \ > asflags-y := -D__VDSO32__ -s > > obj-y += vdso32_wrapper.o > -extra-y += vdso32.lds > +targets += vdso32.lds > CPPFLAGS_vdso32.lds += -P -C -Upowerpc > > # Force dependency (incbin is bad) > diff --git a/arch/powerpc/kernel/vdso64/Makefile > b/arch/powerpc/kernel/vdso64/Makefile > index 38c317f25141..c737b3ea3207 100644 > --- a/arch/powerpc/kernel/vdso64/Makefile > +++ b/arch/powerpc/kernel/vdso64/Makefile > @@ -17,7 +17,7 @@ ccflags-y := -shared -fno-common -fno-builtin -nostdlib \ > asflags-y := -D__VDSO64__ -s > > obj-y += vdso64_wrapper.o > -extra-y += vdso64.lds > +targets += vdso64.lds > CPPFLAGS_vdso64.lds += -P -C -U$(ARCH) > > # Force dependency (incbin is bad) > diff --git a/arch/s390/kernel/vdso64/Makefile > b/arch/s390/kernel/vdso64/Makefile > index 4a66a1cb919b..d0d406cfffa9 100644 > --- a/arch/s390/kernel/vdso64/Makefile > +++ b/arch/s390/kernel/vdso64/Makefile > @@ -25,7 +25,7 @@ $(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = > $(KBUILD_CFLAGS_64) > $(targets:%=$(obj)/%.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_64) > > obj-y += vdso64_wrapper.o > -extra-y += vdso64.lds > +targets += vdso64.lds > CPPFLAGS_vdso64.lds += -P -C -U$(ARCH) > > # Disable gcov profiling, ubsan and kasan for VDSO code For nds32: Acked-by: Greentime Hu
Re: [PATCH v2 15/45] nds32: Use do_kernel_power_off()
Dmitry Osipenko 於 2021年10月28日 週四 上午5:18寫道: > > Kernel now supports chained power-off handlers. Use do_kernel_power_off() > that invokes chained power-off handlers. It also invokes legacy > pm_power_off() for now, which will be removed once all drivers will > be converted to the new power-off API. > > Signed-off-by: Dmitry Osipenko > --- > arch/nds32/kernel/process.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/nds32/kernel/process.c b/arch/nds32/kernel/process.c > index 49fab9e39cbf..0936dcd7db1b 100644 > --- a/arch/nds32/kernel/process.c > +++ b/arch/nds32/kernel/process.c > @@ -54,8 +54,7 @@ EXPORT_SYMBOL(machine_halt); > > void machine_power_off(void) > { > - if (pm_power_off) > - pm_power_off(); > + do_kernel_power_off(); > } > > EXPORT_SYMBOL(machine_power_off); > -- > 2.33.1 > Loop in Alan and KC