lkml.org 
[lkml]   [2001]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: all processes waiting in TASK_UNINTERRUPTIBLE state
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/

\
 
 \ /
  Last update: 2005-03-22 12:55    [W:0.064 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site