From owner-cvs-src-old@FreeBSD.ORG Thu May 6 04:57:43 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D4AEF106566C for ; Thu, 6 May 2010 04:57:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C35498FC13 for ; Thu, 6 May 2010 04:57:43 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o464vhWn046176 for ; Thu, 6 May 2010 04:57:43 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o464vhfo046175 for cvs-src-old@freebsd.org; Thu, 6 May 2010 04:57:43 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <201005060457.o464vhfo046175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Thu, 6 May 2010 04:57:33 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/vm vm_contig.c vm_pageout.c vm_pageout.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: Thu, 06 May 2010 04:57:43 -0000 kib 2010-05-06 04:57:33 UTC FreeBSD src repository Modified files: sys/vm vm_contig.c vm_pageout.c vm_pageout.h Log: SVN rev 207694 on 2010-05-06 04:57:33Z by kib Add a helper function vm_pageout_page_lock(), similar to tegge' vm_pageout_fallback_object_lock(), to obtain the page lock while having page queue lock locked, and still maintain the page position in a queue. Use the helper to lock the page in the pageout daemon and contig launder iterators instead of skipping the page if its lock is contested. Skipping locked pages easily causes pagedaemon or launder to not make a progress with page cleaning. Proposed and reviewed by: alc Revision Changes Path 1.79 +4 -2 src/sys/vm/vm_contig.c 1.319 +60 -12 src/sys/vm/vm_pageout.c 1.44 +1 -0 src/sys/vm/vm_pageout.h