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 ...

Rink Springer rink at FreeBSD.org
Tue Sep 25 12:43:48 PDT 2007


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


More information about the cvs-src mailing list