Date: Fri, 1 Aug 2003 11:37:53 +0000 From: Bosko Milekic <bmilekic@technokratis.com> To: Lars Eggert <larse@ISI.EDU> Cc: current@freebsd.org Subject: Re: vm/map LOR Message-ID: <20030801113753.GA7827@technokratis.com> In-Reply-To: <20030801110249.GA3402@technokratis.com> References: <3F29AA3E.9040809@isi.edu> <20030801110249.GA3402@technokratis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Try the attached patch. On Fri, Aug 01, 2003 at 11:02:49AM +0000, Bosko Milekic wrote: > > fakepg_zone should probably be UMA_ZONE_VM. Or the vm_object lock > needs to be dropped before allocating or freeing to that zone. > > What does Alan think? (cc'd) > > -Bosko > > On Thu, Jul 31, 2003 at 04:46:06PM -0700, Lars Eggert wrote: > > Hi, > > > > with yesterday's -current: > > > > 1st 0xc6dfd094 vm object (vm object) @ /usr/src/sys/vm/vm_object.c:434 > > 2nd 0xc082f110 system map (system map) @ /usr/src/sys/vm/vm_kern.c:323 > > > > Stack backtrace: > > backtrace(c032000b,c082f110,c033362f,c033362f,c03334c6) at backtrace+0x17 > > witness_lock(c082f110,8,c03334c6,143,c082f0b0) at witness_lock+0x686 > > _mtx_lock_flags(c082f110,0,c03334c6,143,101) at _mtx_lock_flags+0xb5 > > _vm_map_lock(c082f0b0,c03334c6,143,c0374778,c03747a0) at _vm_map_lock+0x36 > > kmem_malloc(c082f0b0,1000,101,eb44db14,c02b0433) at kmem_malloc+0x3a > > page_alloc(c083a240,1000,eb44db07,101,0) at page_alloc+0x27 > > slab_zalloc(c083a240,101,c083a254,8,c0334e1e) at slab_zalloc+0xc2 > > uma_zone_slab(c083a240,101,c0334e1e,663,165) at uma_zone_slab+0xd9 > > uma_zalloc_internal(c083a240,0,101,6e7,0) at uma_zalloc_internal+0x4f > > uma_zfree_arg(c083a900,c6e31000,0,eb44dbc4,c029884d) at uma_zfree_arg+0x2a6 > > dev_pager_putfake(c6e31000,0,c0332b9e,be,c6dfd094) at dev_pager_putfake+0x35 > > dev_pager_dealloc(c6dfd094,1,c0334dcf,10c,0) at dev_pager_dealloc+0xb9 > > vm_pager_deallocate(c6dfd094,0,c0333f6c,261,1b2) at vm_pager_deallocate+0x3d > > vm_object_terminate(c6dfd094,0,c0333f6c,1b2,c6b894ec) at > > vm_object_terminate+0x1e5 > > vm_object_deallocate(c6dfd094,c082bd20,c6dfd094,c082bd20,eb44dca0) at > > vm_object_deallocate+0x35e > > vm_map_entry_delete(c6593e00,c082bd20,c033369d,897,c019f843) at > > vm_map_entry_delete+0x3c > > vm_map_delete(c6593e00,282e2000,282e3000,1000,282e2000) at > > vm_map_delete+0x3c3 > > vm_map_remove(c6593e00,282e2000,282e3000,0,c6b8a618) at vm_map_remove+0x55 > > munmap(c6ae24c0,eb44dd14,c0339293,3ee,2) at munmap+0x9e > > syscall(2f,2f,2f,f8000,1000) at syscall+0x260 > > Xint0x80_syscall() at Xint0x80_syscall+0x1d > > --- syscall (73), eip = 0x28257aa7, esp = 0xbfbffc1c, ebp = 0xbfbffc48 --- > > > > Lars > > -- > > Lars Eggert <larse@isi.edu> USC Information Sciences Institute > > > > -- > Bosko Milekic * bmilekic@technokratis.com * bmilekic@FreeBSD.org > TECHNOkRATIS Consulting Services * http://www.technokratis.com/ > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > -- Bosko Milekic * bmilekic@technokratis.com * bmilekic@FreeBSD.org TECHNOkRATIS Consulting Services * http://www.technokratis.com/ --9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="fakepg.patch" diff -ru vm.old/device_pager.c vm/device_pager.c --- vm.old/device_pager.c Fri Aug 1 11:20:26 2003 +++ vm/device_pager.c Fri Aug 1 11:36:03 2003 @@ -96,7 +96,7 @@ sx_init(&dev_pager_sx, "dev_pager create"); mtx_init(&dev_pager_mtx, "dev_pager list", NULL, MTX_DEF); fakepg_zone = uma_zcreate("DP fakepg", sizeof(struct vm_page), - NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM|UMA_ZONE_NOFREE); } /* --9amGYk9869ThD9tj--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030801113753.GA7827>