Date: Wed, 13 Apr 2016 16:46:17 +0900
   From: Ryota Ozaki <ozak...@netbsd.org>

   I'm trying to apply psref to bridge(4) and it's mostly done (*).

Nice!  I'll take a look when I have some time.

   However, I have an issue; I got a KASSERT failure in psref_held
   with the following output (I added thread names to the KASSERTMSG
   for debugging):

     panic: kernel diagnostic assertion "(psref->psref_lwp == curlwp)"
   [...]

   It seems that the assertion depends on a xcall handler
   runs on a lwp that holds a reference to a target object,
   however, in reality the xcall handler runs on its own lwp.

   I think the assertion is invalid and we should get rid of it.
   Am I correct?

Not quite.  The assertion is correct for all other uses of psref_held,
just not the one internal use of it.  I split it into a separate local
subroutine.

Reply via email to