Date: Thu, 31 Jan 2013 08:55:41 -0700 From: Ian Lepore <ian@FreeBSD.org> To: Warren Block <wblock@wonkity.com> Cc: freebsd-arm@FreeBSD.org, Brett Wynkoop <wynkoop@wynn.com>, Ronald Klop <ronald-freebsd8@klop.yi.org> Subject: Re: disk wait mystery Message-ID: <1359647741.93359.335.camel@revolution.hippie.lan> In-Reply-To: <alpine.BSF.2.00.1301310753280.47495@wonkity.com> References: <20130130001849.7669e033@ivory.lan> <op.wrpw4bjv8527sy@ronaldradial.versatec.local> <20130130053729.0c9e018f@ivory.lan> <op.wrp0w4yu8527sy@ronaldradial.versatec.local> <20130130110529.5c5df516@ivory.lan> <8EF6F73D-05AF-4E04-968B-84F35CD0FD85@ugh.net.au> <alpine.BSF.2.00.1301310659490.47495@wonkity.com> <20130131142658.GC74563@in-addr.com> <alpine.BSF.2.00.1301310753280.47495@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2013-01-31 at 08:02 -0700, Warren Block wrote: > On Thu, 31 Jan 2013, Gary Palmer wrote: > > > On Thu, Jan 31, 2013 at 07:12:44AM -0700, Warren Block wrote: > >> On Wed, 30 Jan 2013, Andrew wrote: > >> > >>> On 30 Jan 2013, at 17:05, Brett Wynkoop wrote: > >>> > >>>> I appreciate the education on this point! I wonder if this should be > >>>> considered a man page bug? > >>> > >>> The man page does say "(or other short term, uninterruptible) wait". I > >>> don't know what sort of wait the kernel threads may or may not be in > >>> but if they are in one, and its short-term then the man page is > >>> correct. Maybe an FAQ entry though. > >> > >> If the man page is misleading or incomplete, it should be fixed. Based > >> on the source, the mention of disk at the start is misleading. Maybe: > >> > >> D Marks a process in short term, uninterruptible wait. > >> > >> Or > >> > >> D Marks a process in short term, uninterruptible wait (typically, > >> disk wait). > >> > >> Which explains the "D" but may reintroduce the confusion. > > > > D Marks a process in short term, uninterruptible wait (In non-kernel > > processes, this is typically waiting on disk I/O) > > The followup question that creates is "what are kernel threads waiting > on?" Which is covered by the uninterruptable part earlier. I think the > "typically" handles it without creating more questions. > > Leaving out the redundant "Marks a process" wording: > > D Disk wait, or other short-term, uninterruptable wait. > > "disk wait" was the original term in that man page. "Also shown for > uninterruptable kernel threads." is just repeating. If there's going to be any attempt to reconcile the use of the letter 'D' I think the term "device" would be more accurate these days than "disk". >From a glance at the code, I think this state would be reported for any userland thread that's sleeping in a driver that called one of the sleep(9) family functions without the PCATCH flag which allows signals to interrput the sleep so they can be delivered to userland. For kernel threads I think the PCATCH part is moot and it's just a thread in a "short" sleep (for some definition of short). -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1359647741.93359.335.camel>