Works for me. With this diff I get armv7 regress results again. http://bluhm.genua.de/regress/results/regress-ot7.html
OK bluhm@ On Tue, Jan 11, 2022 at 01:10:27PM +0100, Mark Kettenis wrote: > > Date: Mon, 10 Jan 2022 15:40:34 +0100 (CET) > > From: Mark Kettenis <mark.kette...@xs4all.nl> > > > > > Date: Mon, 10 Jan 2022 14:40:50 +0100 > > > From: Alexander Bluhm <alexander.bl...@gmx.net> > > > > > > On Thu, Jan 06, 2022 at 03:59:55PM +0100, Alexander Bluhm wrote: > > > > My armv7 regress machine hangs every day in regress/sys/kern/fork-exit. > > > > > > Maybe a show uvm provides some information. > > > > Not really. I can reproduce the issue here. But I didn't have > > ddb.console enabled :(. > > > > > Stopped at db_enter: ldrb r15, [r15, r15, ror r15]! > > > ddb> trace > > > db_enter > > > rlv=0xc06bd178 rfp=0xcea1cdd0 > > > ampintc_irq_handler+0x13c > > > rlv=0xc05b79c8 rfp=0xcea1ce48 > > > irq_entry+0x78 > > > rlv=0xc03ba3f8 rfp=0xcea1ce60 > > > uaddr_bestfit_insert+0x24 > > > rlv=0xc0654994 rfp=0xcea1ce78 > > > uvm_mapent_free_insert+0xa8 > > > rlv=0xc0657e7c rfp=0xcea1cea0 > > > uvm_map_fix_space+0x208 > > > rlv=0xc06577b4 rfp=0xcea1cec8 > > > uvm_map_kmem_grow+0x154 > > > rlv=0xc0657044 rfp=0xcea1cf48 > > > uvm_map+0x3a8 > > > rlv=0xc071e4d4 rfp=0xcea1cfa8 > > > uvm_km_thread+0x10c > > > rlv=0xc064a060 rfp=0xc0a49f50 > > > Bad frame pointer: 0xc0a49f50 > > So as far as I can determine, we simply run out of KVA when running > this test. I'm not sure why though. It could be fragmentation, > although AFAICT the km thread only does page-sized allocations. And > we don't have guard pages turned on is it? So maybe there is a leak > somewhere... > > That said, we have a really low amount of KVA on armv7. It's > basically 256MB plus what's left of the 64MB block we've loaded the > kernel in. Doubling this to 512MB (plus what's left of the 64MB > block) makes the test pass, and brings us more in line with the other > 32-bit platforms (i386 has 760MB of KVA). > > ok? > > > Index: arch/armv7/include/vmparam.h > =================================================================== > RCS file: /cvs/src/sys/arch/armv7/include/vmparam.h,v > retrieving revision 1.6 > diff -u -p -r1.6 vmparam.h > --- arch/armv7/include/vmparam.h 10 Mar 2017 08:42:08 -0000 1.6 > +++ arch/armv7/include/vmparam.h 11 Jan 2022 11:53:00 -0000 > @@ -62,7 +62,7 @@ > */ > #define KERNEL_BASE ARM_KERNEL_BASE > > -#define VM_KERNEL_SPACE_SIZE 0x10000000 > +#define VM_KERNEL_SPACE_SIZE 0x20000000 > > /* > * Override the default pager_map size, there's not enough KVA.