re: Reproducable kernel crash
matthew green <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.vax |
|---|---|
| Message-ID | <[email protected]> |
> > do_lwp_create( ...., &l2, ...); > > lwp_exit(l2); > > > > There is a pmap_activate() call in there that makes l2's pm_pcbs have > > two entries, and then during lwp_exit only the active one gets removed. > > I think this comes from vax/vm_machdep.c:113 where the new lwp gets > forcefully activated (which is wrong, isnt't it?) > > > pcb2->pcb_pm = NULL; > pmap_activate(l2); > > I don't see any reason for this pmap_activate(), it would be done later > if needed, and never in our sample at hand. sounds about right to me. this should genreally only be called by MI code doing context switch. besides this one vax call, there are two in arm that may be an issue, though i can perhaps see why at least the efirt one is needed: arch/arm/arm/ast.c: pmap_activate(l); arch/arm/arm/efi_machdep.c: pmap_activate(l); does it happen without this bonus activate call?