Network related procs hang in unusual sfpbsy state
Andrew Gallatin
gallatin at cs.duke.edu
Wed Jul 14 17:34:04 PDT 2004
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
More information about the freebsd-current
mailing list