cvs commit: src/sys/i386/i386 pmap.c
Andrew Gallatin
gallatin at cs.duke.edu
Wed Aug 6 15:12:37 PDT 2003
Alan L. Cox writes:
> Andrew Gallatin wrote:
> >
> > Alan Cox [alc at 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
With the patch, the early "no fault" panic goes away, and seems to be
replace by memory corruption later in the build:
building static c library
ranlib libc_pic.a
ranlib libc.a
ranlib libc_p.a
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libc.a /usr/obj/usr/src/alpha/usr/lib
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libc_p.a /usr/obj/usr/src/alpha/usr/lib
sh /usr/src/tools/install.sh -s -o root -g wheel -m 444 libc.so.5 /usr/obj/usr/src/alpha/usr/lib
ln -fs libc.so.5 /usr/obj/usr/src/alpha/usr/lib/libc.so
sh /usr/src/tools/install.sh -o root -g wheel -m 444 libc_pic.a /usr/obj/usr/src/alpha/usr/lib
5 errors
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
This is after the build is 1/2 done (judging by the size of the
logfile).
I'm going to try again to ensure that I don't get the panic..
Drew
More information about the cvs-src
mailing list