Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jul 2004 20:33:55 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Doug White <dwhite@gumbysoft.com>
Cc:        Gary Stanley <gary@outloud.org>
Subject:   Re: Network related procs hang in unusual sfpbsy state
Message-ID:  <16629.53491.242495.5678@grasshopper.cs.duke.edu>
In-Reply-To: <20040713184408.W527@carver.gumbysoft.com>
References:  <6.1.2.0.2.20040712142407.02d38a98@64.124.166.215> <20040713184408.W527@carver.gumbysoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Doug White writes:
 > On Mon, 12 Jul 2004, Gary Stanley wrote:
 > 
 > > New current kernel from about 3 days ago, certain processes hang after
 > > about a day in this state;
 > >
 > >     80   599     1   0 -16 -2 59020 53548 sfpbsy D<    ??  1141:08.65
 > > /mnt/zeus/web/bin/zeus.web
 > 
 > sfpbsy is used in do_sendfile().  It blocks on this if a page for the file
 > its trying to send is busy.  It may be blocked on another process or the
 > volume its on is taking a while to page the page in.  You might check the
 > logs or whatever for zeus and see if all of them are hung trying to
 > request the same file, or if its on the same filesystem.
 > 
 > Anyone who understands the reason things get marked PG_BUSY can chime in
 > here :)

It basically means "don't touch this page" and is set when the page is
being changed.  Eg, when vm_fault() is working with a page, or when
vm_page_alloc() is allocating one.

Sendfile sleeps with also_m_busy=TRUE, which means that it could be
waiting for an io to complete and cause m->busy to drop to
zero. (vm_page_io_finish()).

Drew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16629.53491.242495.5678>