Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Sep 2007 11:45:10 -0500
From:      Alan Cox <alc@cs.rice.edu>
To:        Rink Springer <rink@FreeBSD.org>
Cc:        Alan Cox <alc@FreeBSD.org>, cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/amd64/include vmparam.h src/sys/arm/include vmparam.h src/sys/i386/include vmparam.h src/sys/ia64/include vmparam.h src/sys/kern kern_exec.c vfs_bio.c src/sys/powerpc/include vmparam.h src/sys/sparc64/include ...
Message-ID:  <46F93B16.50102@cs.rice.edu>
In-Reply-To: <20070925110147.GC60963@rink.nu>
References:  <200709250625.l8P6P7w7082233@repoman.freebsd.org> <20070925110147.GC60963@rink.nu>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------000403060704050604080507
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Rink Springer wrote:
> Hi Alan,
>
> On Tue, Sep 25, 2007 at 06:25:07AM +0000, Alan Cox wrote:
>   
>>   Change the management of cached pages (PQ_CACHE) in two fundamental
>>   ways:
>>     
>
> With this change, KDE no longer starts up; the process 'kbuildsycoca'
> seems to wait forever in status 'madvpo'. Reverting this changeset fixes
> the problem.
>
>   

This is a problem with madvise(WILLNEED).  I believe that the attached 
patch will fix it.

Thanks,
Alan




--------------000403060704050604080507
Content-Type: text/plain;
 name="vm_object_madvise.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="vm_object_madvise.patch"

Index: vm/vm_object.c
===================================================================
RCS file: /home/ncvs/src/sys/vm/vm_object.c,v
retrieving revision 1.383
diff -p -u -r1.383 vm_object.c
--- vm/vm_object.c	25 Sep 2007 06:25:06 -0000	1.383
+++ vm/vm_object.c	25 Sep 2007 16:17:40 -0000
@@ -1105,7 +1105,8 @@ shadowlookup:
 			/*
 			 * If the page is cached, reactivate it.
 			 */
-			m = vm_page_alloc(tobject, tpindex, VM_ALLOC_IFCACHED);
+			m = vm_page_alloc(tobject, tpindex, VM_ALLOC_IFCACHED |
+			    VM_ALLOC_NOBUSY);
 		}
 		if (m == NULL) {
 			/*

--------------000403060704050604080507--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46F93B16.50102>