Re: Network related procs hang in unusual sfpbsy state

From: Andrew Gallatin <gallatin_at_cs.duke.edu>
Date: Wed, 14 Jul 2004 20:33:55 -0400 (EDT)
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
Received on Wed Jul 14 2004 - 22:34:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:01 UTC