tech-kern archive

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

Re: Finding out where biowait is stuck



On Mon, Feb 23, 2009 at 09:42:31PM +0000, Andrew Doran wrote:

> On Mon, Feb 23, 2009 at 09:47:42AM -0500, Allen Briggs wrote:
> 
> > The process is in src/sys/vfs_bio.c:biowait(),
> > but the question is why isn't it getting woken up--or if it's
> > getting woken up, why aren't B_DONE or B_DELWRI set?
> 
> I closed a PR with a similar symptom last year. We had sloppy manipluation
> of buf::b_flag. Updates were made without any protection against disk
> interrupts.
> 
> It was exacerbated by the advent of RISC (load, modify, store) and softdep.
> A large chunk of the softdep code runs in interrupt context, which broke
> some of the undocumented assumptions that the pre-5.0 buffer code made about
> updates to b_flag.
> 
> The good news is that it is fixed in 5.0. The bad news is that there is not
> yet any remediation for this issue in earlier releases (that I know of).

Although I should note, it could be a very different problem in this
instance. The one I note is a good candidate, though.

Andrew


Home | Main Index | Thread Index | Old Index