From owner-cvs-src-old@FreeBSD.ORG Sat Sep 18 15:04:03 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4EE91065746 for ; Sat, 18 Sep 2010 15:04:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2A898FC1F for ; Sat, 18 Sep 2010 15:04:03 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o8IF436Q009989 for ; Sat, 18 Sep 2010 15:04:03 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o8IF43cT009988 for cvs-src-old@freebsd.org; Sat, 18 Sep 2010 15:04:03 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <201009181504.o8IF43cT009988@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Sat, 18 Sep 2010 15:03:31 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sys proc.h src/sys/vm vm_map.c vm_map.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Sep 2010 15:04:04 -0000 kib 2010-09-18 15:03:31 UTC FreeBSD src repository Modified files: sys/sys proc.h sys/vm vm_map.c vm_map.h Log: SVN rev 212824 on 2010-09-18 15:03:31Z by kib Adopt the deferring of object deallocation for the deleted map entries on map unlock to the lock downgrade and later read unlock operation. System map entries cannot be backed by OBJT_VNODE objects, no need to defer deallocation for them. Map entries from user maps do not require the owner map for deallocation, and can be accumulated in the thread-local list for freeing when a user map is unlocked. Move the collection of entries for deferred reclamation into vm_map_delete(). Create helper vm_map_process_deferred(), that is called from locations where processing is feasible. Do not process deferred entries in vm_map_unlock_and_wait() since map_sleep_mtx is held. Reviewed by: alc, rstone (previous versions) Tested by: pho MFC after: 2 weeks Revision Changes Path 1.556 +1 -0 src/sys/sys/proc.h 1.432 +45 -20 src/sys/vm/vm_map.c 1.135 +3 -1 src/sys/vm/vm_map.h