On Fri, Sep 23, 2011 at 05:09:23AM +0000, YAMAMOTO Takashi wrote: > > Fix the build that was broken by struct lwp *updateproc reference in > > RUMP-visible code. Instead of checking that updateproc (aka ioflush, > > aka syncer) will not sleep in PUFFS code, I check for any kernel thread: > > after all none of them are designed to hang awaiting for a remote filesystem > > operation to complete. > > i don't think it's a good idea to restrict what kernel threads can do > in this way. please revert.
Can you imagine a situation where you would expect a kernel thread to sleep in a VFS call? If you do, then I can propose to add a L_NOWAITFS flag in struct lwp's l_flags. That way ioflush could be set to avoid sleeping in PUFFS code while other thread would remain the ability. Another approach is to add a flag to VOP_STRATEGY so that the caller can tell the filesystem whether it can wait or not. -- Emmanuel Dreyfus m...@netbsd.org