Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 06 Aug 2003 15:28:08 -0500
From:      "Alan L. Cox" <alc@imimic.com>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/i386 pmap.c
Message-ID:  <3F3164D8.17704FF1@imimic.com>
References:  <200308061846.h76IkmYp068237@repoman.freebsd.org> <20030806162243.A91712@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin wrote:
> 
> Alan Cox [alc@FreeBSD.org] wrote:
> > alc         2003/08/06 11:46:48 PDT
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/i386/i386        pmap.c
> >   Log:
> >   Acquire the page queues lock in pmap_insert_entry().  (I used to believe
> >   that the page's busy flag could be relied upon to synchronize access to the
> >   pv list.  I don't any longer.  See, for example, the call to
> >   pmap_insert_entry() from pmap_copy().)
> 
> Any chance this is what's causing the pmap corruption on alpha and ia64?
> We're also doing those same 3 lines there:
> 
>       TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist);
>       TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
>       m->md.pv_list_count++;
> 

Yup.  Give it a try.

> FWIW,  I've managed to get a j16 buildworld to complete on a July 4
> kernel, and fail with a fault-on-nofault-entry panic with a July 10
> kernel.
> 

Prior to the "no fault", I would expect that a zero-filled page got
instantiated to satisfy the fault.

Alan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F3164D8.17704FF1>