Re: all processes waiting in TASK_UNINTERRUPTIBLE state

From: Christian Ehrhardt (ehrhardt@mathematik.uni-ulm.de)
Date: Tue Jun 26 2001 - 04:20:56 EST


On Mon, Jun 25, 2001 at 12:05:14PM -0500, Jeff Dike wrote:
> abali@us.ibm.com said:
> > I am running in to a problem, seemingly a deadlock situation, where
> > almost all the processes end up in the TASK_UNINTERRUPTIBLE state.
> > All the process eventually stop responding, including login shell, no
> > screen updates, keyboard etc. Can ping and sysrq key works. I
> > traced the tasks through sysrq-t key. The processors are in the idle
> > state. Tasks all seem to get stuck in the __wait_on_page or
> > __lock_page.
>
> I've seen this under UML, Rik van Riel has seen it on a physical box, and we
> suspect that they're the same problem (i.e. mine isn't a UML-specific bug).
>
> I've done some poking at the problem, but haven't really learned anything
> except that something is locking pages and not unlocking them. Figuring out
> who that is was going to be my next step.

Could it be smbfs? The following piece of code from smb_writepage
looks like it could return with the page locked:

      static int
      smb_writepage(struct page *page)
      {

              /* .... */

              /* easy case */
              if (page->index < end_index)
                      goto do_it;
              /* things got complicated... */
              offset = inode->i_size & (PAGE_CACHE_SIZE-1);
              /* OK, are we completely out? */
              if (page->index >= end_index+1 || !offset)
                      return -EIO; <===== This looks bad!
      do_it:
              get_page(page);
              err = smb_writepage_sync(inode, page, 0, offset);
              SetPageUptodate(page);
              UnlockPage(page);
              put_page(page);
              return err;
      }

   regards Christian

-- 
THAT'S ALL FOLKS!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 30 2001 - 21:00:13 EST