lkml.org 
[lkml]   [2011]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Patch Upstream: cputimer: Cure lock inversion
From
On Wed, Oct 19, 2011 at 11:49 AM, Greg KH <greg@kroah.com> wrote:
> On Wed, Oct 19, 2011 at 11:39:14AM -0400, Gregs git-bot wrote:
>> commit: bcd5cff7216f9b2de0a148cc355eac199dc6f1cf
>> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
>> Date: Mon, 17 Oct 2011 11:50:30 +0200
>> Subject: cputimer: Cure lock inversion
>>
>> There's a lock inversion between the cputimer->lock and rq->lock;
>> notably the two callchains involved are:
>>
>>  update_rlimit_cpu()
>>    sighand->siglock
>>    set_process_cpu_timer()
>>      cpu_timer_sample_group()
>>        thread_group_cputimer()
>>          cputimer->lock
>>          thread_group_cputime()
>>            task_sched_runtime()
>>              ->pi_lock
>>              rq->lock
>>
>>  scheduler_tick()
>>    rq->lock
>>    task_tick_fair()
>>      update_curr()
>>        account_group_exec()
>>          cputimer->lock
>>
>> Where the first one is enabling a CLOCK_PROCESS_CPUTIME_ID timer, and
>> the second one is keeping up-to-date.
>>
>> This problem was introduced by e8abccb7193 ("posix-cpu-timers: Cure
>> SMP accounting oddities").
>
> There is no such patch in Linus's tree that I can find.  So, what
> problem is this really trying to cure here and what kernel did it show
> up in?

Uh...

bcd5cff7216f9b2de0a148cc355eac199dc6f1cf is the upstream commit (post -rc10).

This thread covers the conversation (it's long):

http://thread.gmane.org/gmane.linux.kernel/1199406/focus=1204676

josh
--
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: 2011-10-19 17:57    [W:0.060 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site