Re: Processes spinning forever, apparently in lock_timer_base()?

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Hugh Dickins <hugh@...>
Cc: Andy Whitcroft <apw@...>, Andrew Morton <akpm@...>, Chuck Ebbert <cebbert@...>, Matthias Hensler <matthias@...>, linux-kernel <linux-kernel@...>, Thomas Gleixner <tglx@...>, richard kennedy <richard@...>
Date: Friday, September 21, 2007 - 2:54 pm

On Fri, 21 Sep 2007 16:58:15 +0100 (BST) Hugh Dickins
<hugh@veritas.com> wrote:


This could only happen when: dirty_thresh < nr_cpus * per_cpu_max_delta


That could be modeled on the error limit I have. For this particular
case that would end up looking like:

  nr_online_cpus * pcp->stat_threshold.


As outlined above, and I don't think we'll ever have such a low
dirty_limit. But who knows :-)


I'm with Andrew on this, that is, quite puzzled on how all this arises.

Testing those writeback-fix-* patches might help rule out (or point to)
a mis-function of pdflush.

The theory that one task will spin in balance_dirty_pages() on a
bdi that does not actually have many dirty pages, doesn't sound
plausible because eventually the total dirty count (well, actually
dirty+unstable+writeback) should subside again. This theory can
cause crappy latencies, but should not 'hang' the machine.


Are we actually holding i_mutex on paths that lead into
balance_dirty_pages? that does (from my admittedly limited knowledge of
the vfs) sound like trouble, since we'd need it to complete writeback.

All quite puzzling.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Processes spinning forever, apparently in lock_timer_bas..., Peter Zijlstra, (Fri Sep 21, 2:54 pm)