svn commit: r357055 - head/sys/sparc64/sparc64

Mark Johnston markj at freebsd.org
Thu Jan 23 19:09:01 UTC 2020


On Thu, Jan 23, 2020 at 08:22:55AM -1000, Jeff Roberson wrote:
> On Thu, 23 Jan 2020, Mark Johnston wrote:
> 
> > Author: markj
> > Date: Thu Jan 23 17:18:58 2020
> > New Revision: 357055
> > URL: https://svnweb.freebsd.org/changeset/base/357055
> > 
> > Log:
> >  sparc64: Busy the TSB page before freeing it in pmap_release().
> > 
> >  This is now required by vm_page_free().
> > 
> >  PR:	243534
> >  Reported and tested by:	Michael Reim <kraileth at elderlinux.org>
> > 
> > Modified:
> >  head/sys/sparc64/sparc64/pmap.c
> > 
> > Modified: head/sys/sparc64/sparc64/pmap.c
> > ==============================================================================
> > --- head/sys/sparc64/sparc64/pmap.c	Thu Jan 23 17:08:33 2020	(r357054)
> > +++ head/sys/sparc64/sparc64/pmap.c	Thu Jan 23 17:18:58 2020	(r357055)
> > @@ -1302,6 +1302,7 @@ pmap_release(pmap_t pm)
> > 		m = TAILQ_FIRST(&obj->memq);
> > 		m->md.pmap = NULL;
> > 		vm_page_unwire_noq(m);
> > +		vm_page_xbusy(m);
> 
> vm_page_xbusy() is unsafe long-term and I will be removing it as soon as I
> get patches into drm.  It technically 'works' now but not for great reasons.

Yeah, this is just to satisfy the interface contract.  These pages are
unmanaged, so it really shouldn't make a difference.

> Thanks,
> Jeff
> 
> > 		vm_page_free_zero(m);
> > 	}
> > 	VM_OBJECT_WUNLOCK(obj);
> > 


More information about the svn-src-all mailing list