Date: Mon, 5 Apr 2010 14:58:53 +0100 From: Rui Paulo <rpaulo@freebsd.org> To: Alan Cox <alc@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r206140 - head/sys/vm Message-ID: <A91C9366-6DB6-492C-A5D7-0366B934300C@freebsd.org> In-Reply-To: <201004031620.o33GKM0n037332@svn.freebsd.org> References: <201004031620.o33GKM0n037332@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On 3 Apr 2010, at 17:20, Alan Cox wrote: > Author: alc > Date: Sat Apr 3 16:20:22 2010 > New Revision: 206140 > URL: http://svn.freebsd.org/changeset/base/206140 >=20 > Log: > Re-enable the call to pmap_release() by vmspace_dofree(). The = accounting > problem that is described in the comment has been addressed. >=20 > Submitted by: kib > Tested by: pho (a few months ago) > MFC after: 6 weeks >=20 > Modified: > head/sys/vm/vm_map.c >=20 > Modified: head/sys/vm/vm_map.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/vm/vm_map.c Sat Apr 3 15:52:32 2010 = (r206139) > +++ head/sys/vm/vm_map.c Sat Apr 3 16:20:22 2010 = (r206140) > @@ -313,6 +313,7 @@ vm_init2(void) > static inline void > vmspace_dofree(struct vmspace *vm) > { > + > CTR1(KTR_VM, "vmspace_free: %p", vm); >=20 > /* > @@ -329,12 +330,8 @@ vmspace_dofree(struct vmspace *vm) > (void)vm_map_remove(&vm->vm_map, vm->vm_map.min_offset, > vm->vm_map.max_offset); >=20 > - /* > - * XXX Comment out the pmap_release call for now. The > - * vmspace_zone is marked as UMA_ZONE_NOFREE, and bugs cause > - * pmap.resident_count to be !=3D 0 on exit sometimes. > - */ > -/* pmap_release(vmspace_pmap(vm)); */ > + pmap_release(vmspace_pmap(vm)); > + vm->vm_map.pmap =3D NULL; > uma_zfree(vmspace_zone, vm); > } >=20 Unfortunately, this causes a panic on MIPS. I don't know enough about = the VM subsystem to help with fixing this but if you want me to = investigate something, I can do it. NFS ROOT: 192.168.5.1:/zoo/rpaulo/millipede1 warning: no time-of-day clock registered, system time will not be set = accurately warning: no time-of-day clock registered, system time will not be set = accurately Interface rge1 IP-Address 192.168.5.16 Broadcast 192.168.5.255=20 panic: lock "pmap" 0xc6c320dc already initialized KDB: enter: panic [ thread pid 31 tid 100042 ] Stopped at kdb_enter+0x50: lui at,0x8047 db> bt Tracing pid 31 tid 100042 td 0xc829e260 db_trace_thread+30 (?,?,?,?) ra 8011ee48 sp d37ed820 sz 24 8011ed2c+11c (0,?,ffffffff,?) ra 8011e4f0 sp d37ed838 sz 32 8011e15c+394 (?,?,?,?) ra 8011e680 sp d37ed858 sz 168 db_command_loop+78 (?,?,?,?) ra 80120c98 sp d37ed900 sz 24 80120b90+108 (?,?,?,?) ra 80227c74 sp d37ed918 sz 424 kdb_trap+10c (?,?,?,?) ra 8038b8fc sp d37edac0 sz 32 trap+b88 (?,?,?,?) ra 80383fa8 sp d37edae0 sz 168 MipsKernGenException+10c (0,a,804c2fe4,109) ra 80227ecc sp d37edb88 sz = 200 kdb_enter+50 (?,?,?,?) ra 801f2184 sp d37edc50 sz 24 panic+f8 (?,803fb4e0,c6c320dc,c6c320dc) ra 80228a74 sp d37edc68 sz 40 lock_init+30 (?,?,?,?) ra 801e2114 sp d37edc90 sz 24 mtx_init+100 (?,?,?,?) ra 80386fd4 sp d37edca8 sz 32 pmap_pinit+34 (?,?,?,?) ra 8036dab8 sp d37edcc8 sz 48 vmspace_alloc+48 (?,?,?,?) ra 8036dc08 sp d37edcf8 sz 32 vmspace_fork+58 (c6c320f0,d37edd78,?,?) ra 801c7240 sp d37edd18 sz 72 fork1+234 (?,?,?,d37eddc8) ra 801c845c sp d37edd60 sz 88 fork+20 (?,?,?,?) ra 8038b694 sp d37eddb8 sz 32 trap+920 (?,?,?,?) ra 80384174 sp d37eddd8 sz 168 MipsUserGenException+10c (?,?,?,501dbd30) ra 0 sp d37ede80 sz 0 pid 31 =20 db> ps =20 pid ppid pgrp uid state wmesg wchan cmd 31 17 17 0 R+ CPU 0 sh 18 0 0 0 SL - 0x8047b804 [nfsiod 0] 17 1 17 0 Ss+ wait 0xc82a1590 sh 16 0 0 0 DL - 0x80471354 [schedcpu] 15 0 0 0 DL syncer 0x80476d14 [syncer] 9 0 0 0 DL vlruwt 0xc82a4000 [vnlru] 8 0 0 0 DL psleep 0x80476a3c [bufdaemon] 7 0 0 0 DL pgzero 0x8047c95c [pagezero] 6 0 0 0 DL psleep 0x8047c588 [pagedaemon] 5 0 0 0 DL ccb_scan 0x8046b57c [xpt_thrd] 14 0 0 0 WL [msg_intr0] 13 0 0 0 DL (threaded) [usb] 100021 D - 0xc6cb0d0c [usbus0] 100020 D - 0xc6cb0cdc [usbus0] 100019 D - 0xc6cb0cac [usbus0] 100018 D - 0xc6cb0c7c [usbus0] 12 0 0 0 DL - 0x80471354 [yarrow] 4 0 0 0 DL - 0x8046f280 [g_down] 3 0 0 0 DL - 0x8046f27c [g_up] 2 0 0 0 DL - 0x8046f274 [g_event] 11 0 0 0 RL (threaded) [intr] 100031 I [hard intr35: mskc] 100030 I [hard intr32: rge] 100029 I [hard intr31: rge] 100028 I [hard intr30: rge] 100027 I [hard intr29: rge] 100026 I [hard intr28: rge] 100025 I [hard intr27: rge] 100024 I [hard intr26: rge] 100022 I [hard intr25: rge] 100017 I [hard intr39: ehci] 100016 I [swi0: uart] 100015 I [swi6: Giant taskq] 100013 I [swi5: +] 100011 I [swi2: cambio] 100010 I [swi6: task queue] 100005 RunQ [swi4: clock] 100004 I [swi3: vm] 100003 I [swi1: netisr 0] 10 0 0 0 RL [idle] 1 0 1 0 SLs wait 0xc6c2f000 [init] 0 0 0 0 DLs (threaded) [kernel] 100014 D - 0xc6c99080 [thread taskq] 100012 D - 0xc6c99140 [kqueue taskq] 100000 D sched 0x8046f2d8 [swapper] Regards, -- Rui Paulo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A91C9366-6DB6-492C-A5D7-0366B934300C>