Source-Changes-D archive

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

Re: CVS commit: src/sys



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
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index