svn commit: r216333 - head/sys/i386/i386

Kostik Belousov kostikbel at gmail.com
Sat Dec 18 11:23:51 UTC 2010


On Sat, Dec 18, 2010 at 11:35:42AM +0100, Joel Dahl wrote:
> On 18-12-2010  3:17, Alan Cox wrote:
> > Joel Dahl wrote:
> > > On 09-12-2010 20:16, Alan Cox wrote:
> > >   
> > >> Author: alc
> > >> Date: Thu Dec  9 20:16:00 2010
> > >> New Revision: 216333
> > >> URL: http://svn.freebsd.org/changeset/base/216333
> > >>
> > >> Log:
> > >>   When r207410 eliminated the acquisition and release of the page queues
> > >>   lock from pmap_extract_and_hold(), it didn't take into account that
> > >>   pmap_pte_quick() sometimes requires the page queues lock to be held.
> > >>   This change reimplements pmap_extract_and_hold() such that it no
> > >>   longer uses pmap_pte_quick(), and thus never requires the page queues
> > >>   lock.
> > >>   
> > >>   For consistency, adopt the same idiom as used by the new
> > >>   implementation of pmap_extract_and_hold() in pmap_extract() and
> > >>   pmap_mincore().  It also happens to make these functions shorter.
> > >>     
> > >
> > > Hi Alan,
> > >
> > > This commit makes my laptop hang everytime I quit X.  I just get a black
> > > screen and the machine won't respond to any keys.  Everything works if I
> > > go back to r216330.
> > >
> > >   
> > 
> > Can you please try the following change?
> 
> I'm afraid the patch didn't make any difference.  It still hangs.

I already looked at the similar report. It seems that the driver
allocates a page using kmem_alloc_contig(), then creates OBJT_SG object,
and changes the mapping to use the fictitious page instantiated by
sg object. Since kmem_free() sees wired mapping, it calls vm_fault_unwire(),
which is incompatible with fictitious wired pages.

I cannot guarantee that this is definitely what happens, but backtrace
looked plausible.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-head/attachments/20101218/96a3b0ef/attachment.pgp


More information about the svn-src-head mailing list