Subject: Re: 1.6.1 lack of stability on cats
To: Chris Gilbert <chris@dokein.co.uk>
From: Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk>
List: port-arm
Date: 02/11/2003 20:44:33
> Richard Earnshaw said:
> > Here's one ARM patch in the right time-frame:
> >
> > revision 1.23
> > date: 2002/11/24 01:07:47;  author: chris;  state: Exp;  lines: +2 -2
> > Fix's DEBUG kernel's not making it into multiuser on cats. (as spotted
> > by nick)
> > When wiring a page with pmap_enter you must supply the protection in the
> > flags as well as in the prot.
> >
> > Chris, can you remember what this was for?  Especially interesting is
> > that  last bit.
> 
> Yes, the page is wired, and it should have specified it's permissions for
> the page in the flags arg. Wired pages need the permissions to be set up
> front as they're supposed to be safe to access at all times, IE shouldn't
> need paging in. Not having the flags I think causes a page fault when
> accessed (npte has doesn't get setup, see line 2868 for the npte setup
> code).  Jason may be able to give a better description as he told me how
> this stuff works, as my memory has forgotten the exact details.
> 
> I think that a DEBUG kernel panic'd when it tried to fault a page in that
> should have been wired, I tracked it down to the pte not having the right
> flags, and added the assert to the pmap (checked into revision 1.123) to
> catch this happening again.  The assert was triggered by the bug in
> vm_machdep.c.
> 
> No idea if that will have fixed this bug as well, but certainly it may
> have an impact.

It's early days yet, and I've cried wolf on this issue once already, but 
this does seem like it might be it this time.

So could folks who are in a possition to test 1.6.1 on any ARM platform 
please try pulling up arch/arm/arm32/vm_machdep.c 1.22->1.23 and give it a 
try.

R.