Re: /proc dcache deadlock in do_exit

2007-11-28 Thread Oleg Nesterov
On 11/27, Eric W. Biederman wrote: > > Andrew Morton <[EMAIL PROTECTED]> writes: > > > On Tue, 27 Nov 2007 14:20:22 +0100 > > Andrea Arcangeli <[EMAIL PROTECTED]> wrote: > > > >> do_exit->release_task->mark_inode_dirty_sync->schedule() (will never > >> come back to run journal_stop) > > > > I don'

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Eric W. Biederman
Nacked-by: "Eric W. Biederman" <[EMAIL PROTECTED]> Andrew Morton <[EMAIL PROTECTED]> writes: > I don't see why the schedule() will not return? Because the task has > PF_EXITING set? Doesn't TASK_DEAD do that? This appears to be a work around for an old bug only present in sles9. It looks lik

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Eric W. Biederman
Andrea Arcangeli <[EMAIL PROTECTED]> writes: >> >> So you may need to apply this one too (this one is needed to fix the >> second bug, my previous patch is needed after applying this one): > > thinking what happened once already, I think this would be more > debuggable but maybe not... dunno. Pl

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Eric W. Biederman
Andrea Arcangeli <[EMAIL PROTECTED]> writes: > On Tue, Nov 27, 2007 at 02:38:52PM -0800, Andrew Morton wrote: >> I don't see why the schedule() will not return? Because the task has >> PF_EXITING set? Doesn't TASK_DEAD do that? > > Ouch, I assumed you couldn't sleep safely anymore in release_tas

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Andrea Arcangeli
On Wed, Nov 28, 2007 at 02:21:29AM +0100, Andrea Arcangeli wrote: > On Tue, Nov 27, 2007 at 02:38:52PM -0800, Andrew Morton wrote: > > I don't see why the schedule() will not return? Because the task has > > PF_EXITING set? Doesn't TASK_DEAD do that? > > Ouch, I assumed you couldn't sleep safely

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Eric W. Biederman
Andrew Morton <[EMAIL PROTECTED]> writes: > On Tue, 27 Nov 2007 14:20:22 +0100 > Andrea Arcangeli <[EMAIL PROTECTED]> wrote: > >> Hi, >> >> this patch fixes a sles9 system hang in start_this_handle from a >> customer with some heavy workload where all tasks are waiting on >> kjournald to commit t

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Andrea Arcangeli
On Tue, Nov 27, 2007 at 02:38:52PM -0800, Andrew Morton wrote: > I don't see why the schedule() will not return? Because the task has > PF_EXITING set? Doesn't TASK_DEAD do that? Ouch, I assumed you couldn't sleep safely anymore in release_task given it's the function that will free the task str

Re: /proc dcache deadlock in do_exit

2007-11-27 Thread Andrew Morton
On Tue, 27 Nov 2007 14:20:22 +0100 Andrea Arcangeli <[EMAIL PROTECTED]> wrote: > Hi, > > this patch fixes a sles9 system hang in start_this_handle from a > customer with some heavy workload where all tasks are waiting on > kjournald to commit the transaction, but kjournald waits on t_updates > to

/proc dcache deadlock in do_exit

2007-11-27 Thread Andrea Arcangeli
Hi, this patch fixes a sles9 system hang in start_this_handle from a customer with some heavy workload where all tasks are waiting on kjournald to commit the transaction, but kjournald waits on t_updates to go down to zero (it never does). This was reported as a lowmem shortage deadlock but when c