On Wed, Jun 03, 2020 at 04:44:17PM -0700, Guenter Roeck wrote: > On 6/3/20 2:14 PM, Ira Weiny wrote: > > On Wed, Jun 03, 2020 at 01:57:36PM -0700, Andrew Morton wrote: > >> On Thu, 21 May 2020 10:42:50 -0700 Ira Weiny <ira.weiny@xxxxxxxxx> wrote: > >> ... > >> > >> This all petered out, but as I understand it, this patchset still might > >> have issues on various architectures. > >> > >> Can folks please provide an update on the testing status? > > > > I believe the tests were failing for Guenter due to another patch set...[1] > > > > My tests with just this series are working. > > > >>From my understanding the other failures were unrelated.[2] > > > > <quote Mike Rapoport> > > I've checked the patch above on top of the mmots which already has > > Ira's patches and it booted fine. I've used sparc32_defconfig to build > > the kernel and qemu-system-sparc with default machine and CPU. > > </quote> > > > > Mike, am I wrong? Do you think the kmap() patches are still causing issues? > > > > For my part, all I can say is that -next is in pretty bad shape right now. > The summary of my tests says: > > Build results: > total: 151 pass: 130 fail: 21 > Qemu test results: > total: 430 pass: 375 fail: 55 > > sparc32 smp images in next-20200603 still crash for me with a spinlock > recursion. s390 images hang early in boot. Several others (alpha, arm64, > various ppc) don't even compile. I can run some more bisects over time, > but this is becoming a full-time job :-(. > I'm not sure what the process here is. I just applied my series[1] on Linus' Master branch[2] and ran sparc32 and s290 from your tests. sparc32: (passes) 21:43:49 > /home/iweiny/dev/linux-build-test/rootfs/sparc/run-qemu-sparc.sh Build reference: v5.7-7188-g67a7a97e8a0f Building sparc32:SPARCClassic:nosmp:scsi:hd ... running ......... passed Building sparc32:SPARCbook:nosmp:scsi:cd ... running ......... passed Building sparc32:LX:nosmp:noapc:scsi:hd ... running ......... passed Building sparc32:SS-4:nosmp:initrd ... running ......... passed Building sparc32:SS-5:nosmp:scsi:hd ... running ......... passed Building sparc32:SS-10:nosmp:scsi:cd ... running ......... passed Building sparc32:SS-20:nosmp:scsi:hd ... running ......... passed Building sparc32:SS-600MP:nosmp:scsi:hd ... running ......... passed Building sparc32:Voyager:nosmp:noapc:scsi:hd ... running ...... .... passed Building sparc32:SS-4:smp:scsi:hd ... running ......... passed Building sparc32:SS-5:smp:scsi:cd ... running ......... passed Building sparc32:SS-10:smp:scsi:hd ... running ......... passed Building sparc32:SS-20:smp:scsi:hd ... running ......... passed Building sparc32:SS-600MP:smp:scsi:hd ... running ......... passed Building sparc32:Voyager:smp:noapc:scsi:hd ... running ......... passed s390: (does not compile) <stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] In file included from ./arch/sparc/include/asm/bug.h:6:0, from ./include/linux/bug.h:5, from ./include/linux/mmdebug.h:5, from ./include/linux/mm.h:9, from mm/huge_memory.c:8: mm/huge_memory.c: In function 'hugepage_init': ./include/linux/compiler.h:403:38: error: call to '__compiletime_assert_127' declared with attribute error: BUILD_BUG_ON failed: ((13 + (13-3))-13) >= 9 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ ./include/linux/compiler.h:384:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^~~~~~ ./include/linux/compiler.h:403:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^~~~~~~~~~~~~~~~ ./include/linux/bug.h:24:4: note: in expansion of macro 'BUILD_BUG_ON' BUILD_BUG_ON(cond); \ ^~~~~~~~~~~~ mm/huge_memory.c:403:2: note: in expansion of macro 'MAYBE_BUILD_BUG_ON' MAYBE_BUILD_BUG_ON(HPAGE_PMD_ORDER >= MAX_ORDER); ^~~~~~~~~~~~~~~~~~ make[1]: *** [scripts/Makefile.build:267: mm/huge_memory.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1735: mm] Error 2 make: *** Waiting for unfinished jobs.... ------------ The s390 error is the same on Linus' master and linux-next. So whatever is causing that has slipped into mainline and/or is something I've broken in the test scripts. With linux-next on sparc I too see the spinlock issue; something like: ... Starting syslogd: BUG: spinlock recursion on CPU#0, S01syslogd/139 lock: 0xf53ef350, .magic: dead4ead, .owner: S01syslogd/139, .owner_cpu: 0 CPU: 0 PID: 139 Comm: S01syslogd Not tainted 5.7.0-next-20200603 #1 [f0067d00 : do_raw_spin_lock+0xa8/0xd8 ] [f00d598c : copy_page_range+0x328/0x804 ] [f0025c34 : dup_mm+0x334/0x434 ] [f0027198 : copy_process+0x1248/0x12d4 ] [f00273b8 : _do_fork+0x54/0x30c ] [f00276e4 : do_fork+0x5c/0x6c ] [f000de44 : sparc_do_fork+0x18/0x38 ] [f000b7f4 : do_syscall+0x34/0x40 ] [5010cd4c : 0x5010cd4c ] qemu-system-sparc: terminating on signal 15 from pid 2000056 (/bin/bash) ... FWIW I don't see any of this being an issue with the kmap() code but I agree things could be cleaner. How can we back linux-next off a bit? I'm not an expert here with how linux-next works. For example I just picked the latest patch from me within the linux-next tree: 2e483306d5a8 arch/{mips,sparc,microblaze,powerpc}: don't enable pagefault/preempt twice And built from there it looks good for sparc. 23:01:31 > /home/iweiny/dev/linux-build-test/rootfs/sparc/run-qemu-sparc.sh Build reference: v5.7-719-g2e483306d5a8 Building sparc32:SPARCClassic:nosmp:scsi:hd ... running .......... passed Building sparc32:SPARCbook:nosmp:scsi:cd ... running .......... passed Building sparc32:LX:nosmp:noapc:scsi:hd ... running .......... passed Building sparc32:SS-4:nosmp:initrd ... running .......... passed Building sparc32:SS-5:nosmp:scsi:hd ... running .......... passed Building sparc32:SS-10:nosmp:scsi:cd ... running .......... passed Building sparc32:SS-20:nosmp:scsi:hd ... running .......... passed Building sparc32:SS-600MP:nosmp:scsi:hd ... running ......... passed Building sparc32:Voyager:nosmp:noapc:scsi:hd ... running ......... passed Building sparc32:SS-4:smp:scsi:hd ... running ......^[[1;2D... passed Building sparc32:SS-5:smp:scsi:cd ... running ......... passed Building sparc32:SS-10:smp:scsi:hd ... running ......... passed Building sparc32:SS-20:smp:scsi:hd ... running ......... passed Building sparc32:SS-600MP:smp:scsi:hd ... running ......... passed Building sparc32:Voyager:smp:noapc:scsi:hd ... running ......... passed I'm going to bisect between there and HEAD. Ira [1] 67a7a97e8a0f arch/{mips,sparc,microblaze,powerpc}: Don't enable pagefault/preempt twice 4a3dd9ec36d8 kmap: Consolidate kmap_prot definitions a3b39b1668ac sparc: Remove unnecessary includes 452195c6e8a8 parisc/kmap: Remove duplicate kmap code 317e4af1da94 kmap: Remove kmap_atomic_to_page() e11e52415a4d drm: Remove drm specific kmap_atomic code afd4911f0cfb arch/kmap: Define kmap_atomic_prot() for all arch's 2a5524d63341 arch/kmap: Don't hard code kmap_prot values c94bbaab0296 arch/kmap: Ensure kmap_prot visibility 6f29a6b66d3b arch/kunmap_atomic: Consolidate duplicate code 0c7122ef07d1 arch/kmap_atomic: Consolidate duplicate code 63b8bbf47723 {x86,powerpc,microblaze}/kmap: Move preempt disable 23b3175de76f arch/kunmap: Remove duplicate kunmap implementations 9514dd54fda8 arch/kmap: Remove redundant arch specific kmaps e92e53c0080b arch/xtensa: Move kmap build bug out of the way cab1afa4f6ac arch/kmap: Remove BUG_ON() [2] cb8e59cc8720 (linus/master, linus-master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc