lkml.org 
[lkml]   [2009]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH RFC] perf_counter: Don't swap contexts containing locked mutex
From
Date
Hi Ingo,

On Fri, 2009-05-29 at 14:35 +0200, Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > try the latest Git repo (i tried 95110d7) and do this:
> >
> > make clean
> > perf stat -- make -j
> >
> > that locks up for me, very quickly, with permanently stuck tasks:
> >
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
> > 10748 mingo 20 0 0 0 0 R 100.4 0.0 0:06.44 chmod
> > 10756 mingo 20 0 0 0 0 R 100.4 0.0 0:06.43 touch
> >
> > looping in the remove-context retry loop.
>
> ok, after muchos debugging and tracing this turned out to be the
> perf_counter_task_exit() in kernel/fork.c, in the fork() failure
> path. That zapped the task ctx in cpuctx and caused the next
> schedule (which is rare) to not schedule the real context out. Then,
> when the task was scheduled back in again later, we scheduled in
> already active counters. Much mayhem followed and the lockup was a
> common incarnation of that. I pushed out a couple of fixes for this.
>
> Pekka, the symptoms appear to match your 'stuck Xorg while make -j'
> symptoms pretty accurately - so if you try latest perfcounters/core
> it might solve some of those problems as well.

Yup, works much better here. Thanks!

Tested-by: Pekka Enberg <penberg@cs.helsinki.fi>

Pekka



\
 
 \ /
  Last update: 2009-05-29 15:53    [W:0.079 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site