On Fri, Feb 17, 2017 at 08:18:36PM +1100, Jonathan Gray wrote: > On Fri, Feb 17, 2017 at 02:11:55AM -0500, Dale Rahn wrote: > > The logic to handle PMAP_CANFAIL, the logic was inverted originally. > > > > Code has been simplified so that it is test for if !CANFAIL then panic > > Looks good, but how about using __func__? Avoids going > 80 in one case.
This is a nice improvement over my proposal. Thanks Dale > > Index: pmap.c > =================================================================== > RCS file: /cvs/src/sys/arch/arm64/arm64/pmap.c,v > retrieving revision 1.20 > diff -u -p -r1.20 pmap.c > --- pmap.c 7 Feb 2017 23:05:33 -0000 1.20 > +++ pmap.c 17 Feb 2017 09:13:44 -0000 > @@ -370,8 +370,9 @@ pmap_vp_enter(pmap_t pm, vaddr_t va, str > vp1 = pool_get(&pmap_vp_pool, vp_pool_flags); > if (vp1 == NULL) { > if ((flags & PMAP_CANFAIL) == 0) > - return ENOMEM; > - panic("unable to allocate L1"); > + panic("%s: unable to allocate L1", > + __func__); > + return ENOMEM; > } > pmap_set_l1(pm, va, vp1, 0); > } > @@ -384,8 +385,8 @@ pmap_vp_enter(pmap_t pm, vaddr_t va, str > vp2 = pool_get(&pmap_vp_pool, vp_pool_flags); > if (vp2 == NULL) { > if ((flags & PMAP_CANFAIL) == 0) > - return ENOMEM; > - panic("unable to allocate L2"); > + panic("%s: unable to allocate L2", __func__); > + return ENOMEM; > } > pmap_set_l2(pm, va, vp2, 0); > } > @@ -395,8 +396,8 @@ pmap_vp_enter(pmap_t pm, vaddr_t va, str > vp3 = pool_get(&pmap_vp_pool, vp_pool_flags); > if (vp3 == NULL) { > if ((flags & PMAP_CANFAIL) == 0) > - return ENOMEM; > - panic("unable to allocate L3"); > + panic("%s: unable to allocate L3", __func__); > + return ENOMEM; > } > pmap_set_l3(pm, va, vp3, 0); > } > @@ -503,19 +504,17 @@ pmap_enter(pmap_t pm, vaddr_t va, paddr_ > if (pted == NULL) { > pted = pool_get(&pmap_pted_pool, PR_NOWAIT | PR_ZERO); > if (pted == NULL) { > - if ((flags & PMAP_CANFAIL) == 0) { > - error = ENOMEM; > - goto out; > - } > - panic("pmap_enter: failed to allocate pted"); > + if ((flags & PMAP_CANFAIL) == 0) > + panic("%s: failed to allocate pted", __func__); > + error = ENOMEM; > + goto out; > } > if (pmap_vp_enter(pm, va, pted, flags)) { > - if ((flags & PMAP_CANFAIL) == 0) { > - error = ENOMEM; > - pool_put(&pmap_pted_pool, pted); > - goto out; > - } > - panic("pmap_enter: failed to allocate L2/L3"); > + if ((flags & PMAP_CANFAIL) == 0) > + panic("%s: failed to allocate L2/L3", __func__); > + error = ENOMEM; > + pool_put(&pmap_pted_pool, pted); > + goto out; > } > } > > Dale Rahn dr...@dalerahn.com