NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/39420: stopped processes can hold locks



On Thu, Oct 02, 2008 at 08:12:35AM +0900, YAMAMOTO Takashi wrote:
 > > >Number:         39420
 > > >Category:       kern
 > > >Synopsis:       stopped processes can hold locks
 > 
 > are you using interruptible nfs mount?
 > in that case, nfs uses PCATCH/cv_wait_sig for I/O and can be
 > suspended by user.

Yes.

 > ups@ suggested introducing something like PCATCH|PNOSUSPEND while ago.
 > i think that an alternative is not suspending LWPs in the middle of
 > sleepq_block.  ie. suspend LWPs only on user-kernel boundaries.

I think that's a much better alternative. I don't think it's safe to
suspend anything except at the user-kernel boundary. It's easy enough
to use EINTR/ERESTARTSYS to get the LWPs there when necessary.

When I looked into this before it appeared like it would require
nontrivial changes, but I think I was probably missing something.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index