Date: Tue, 25 Sep 2007 21:43:39 +0200 From: Rink Springer <rink@FreeBSD.org> To: Kostik Belousov <kostikbel@gmail.com> Cc: Rink Springer <rink@freebsd.org>, Alan Cox <alc@freebsd.org>, cvs-src@freebsd.org, Alan Cox <alc@cs.rice.edu>, cvs-all@freebsd.org, src-committers@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: <20070925194339.GA91097@rink.nu> In-Reply-To: <20070925171204.GJ87366@deviant.kiev.zoral.com.ua> References: <200709250625.l8P6P7w7082233@repoman.freebsd.org> <20070925110147.GC60963@rink.nu> <46F93B16.50102@cs.rice.edu> <20070925171204.GJ87366@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 25, 2007 at 08:12:04PM +0300, Kostik Belousov wrote: > On Tue, Sep 25, 2007 at 11:45:10AM -0500, Alan Cox wrote: > > 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 > > > > > > > > > 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) { > > /* > > Yes, this indeed fixes the problem. Several minutes ago I suggested the > same change to rdivacky@, and he reported that the problem is gone. Same case here - feel free to get it committed, if you aren't already working on this. Alan, thanks for the quick response! -- Rink P.W. Springer - http://rink.nu "root is always right" -- the kernel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070925194339.GA91097>