Le Sunday 06 September 2009, A.J. "Fonz" van Werven a écrit :
> Kostik Belousov wrote:
> > I expect that the following patch, that is the partial merge of r194459,
> > would fix it. It patches sys/vm/vm_phys.c.
> >
> > Index: vm_phys.c
> > ===================================================================
> > --- vm_phys.c       (revision 194458)
> > +++ vm_phys.c       (revision 194459)
> > @@ -382,8 +382,7 @@
> >             if (pa >= seg->start && pa < seg->end)
> >                     return (&seg->first_page[atop(pa - seg->start)]);
> >     }
> > -   panic("vm_phys_paddr_to_vm_page: paddr %#jx is not in any segment",
> > -       (uintmax_t)pa);
> > +   return (NULL);
> >  }
> >
> >  /*
>
> Hi,
>
> A quick grep on the file in question revealed that there are two
> functions that may panic() with "page not in any segment": the
> vm_phys_paddr_to_vm_page() being patched and also the next function
> vm_phys_paddr_to_segind(). I'm not exactly current with the memory
> management code so this may be a very stupid question, but I'll ask it
> anyway: don't both functions need to be patched?
>
> My apologies if I'm way off the mark here, but I'm just trying to help.

you are right : there seems the vm handling has been recently updated and 
maybe even "those who know" may not have reviewed/updated all panic 
conditions (removing the panic in vm_phys_paddr_to_vm_page at least allows 
correct operation of a -Stable kernel, like under -Current)

        TfH
>
> Regards,
>
> Alphons


_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to