<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/lockdep.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-06-23T22:28:40Z</updated>
<entry>
<title>lockdep: Fix lock_is_held() on recursion</title>
<updated>2011-06-23T22:28:40Z</updated>
<author>
<name>Peter Zijlstra</name>
</author>
<published>2011-06-06T10:32:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=904b61178e165b531ea656c200719d2e585d313d'/>
<id>urn:sha1:904b61178e165b531ea656c200719d2e585d313d</id>
<content type='text'>
commit f2513cde93f0957d5dc6c09bc24b0cccd27d8e1d upstream.

The main lock_is_held() user is lockdep_assert_held(), avoid false
assertions in lockdep_off() sections by unconditionally reporting the
lock is taken.

[ the reason this is important is a lockdep_assert_held() in ttwu()
  which triggers a warning under lockdep_off() as in printk() which
  can trigger another wakeup and lock up due to spinlock
  recursion, as reported and heroically debugged by Arne Jansen ]

Reported-and-tested-by: Arne Jansen &lt;lists@die-jansens.de&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: http://lkml.kernel.org/r/1307398759.2497.966.camel@laptop
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>lockdep: fix incorrect percpu usage</title>
<updated>2010-04-26T14:48:03Z</updated>
<author>
<name>Mathieu Desnoyers</name>
</author>
<published>2010-04-20T14:33:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eabe8c241a9ecbc15a9d51e0bfc3dde1c27d8a65'/>
<id>urn:sha1:eabe8c241a9ecbc15a9d51e0bfc3dde1c27d8a65</id>
<content type='text'>
The mainline kernel as of 2.6.34-rc5 is not affected by this problem because
commit 10fad5e46f6c7bdfb01b1a012380a38e3c6ab346 fixed it by refactoring.

lockdep fix incorrect percpu usage

Should use per_cpu_ptr() to obfuscate the per cpu pointers (RELOC_HIDE is needed
for per cpu pointers).

git blame points to commit:

lockdep.c: commit 8e18257d29238311e82085152741f0c3aa18b74d

But it's really just moving the code around. But it's enough to say that the
problems appeared before Jul 19 01:48:54 2007, which brings us back to 2.6.23.

It should be applied to stable 2.6.23.x to 2.6.33.x (or whichever of these
stable branches are still maintained).

(tested on 2.6.33.1 x86_64)

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
CC: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
CC: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
CC: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
CC: Tejun Heo &lt;tj@kernel.org&gt;
CC: Ingo Molnar &lt;mingo@elte.hu&gt;
CC: Andrew Morton &lt;akpm@linux-foundation.org&gt;
CC: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
CC: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
CC: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>lockdep: Fix check_usage_backwards() error message</title>
<updated>2010-01-27T07:34:02Z</updated>
<author>
<name>Oleg Nesterov</name>
</author>
<published>2010-01-26T18:16:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48d50674179981e41f432167b2441cec782d5484'/>
<id>urn:sha1:48d50674179981e41f432167b2441cec782d5484</id>
<content type='text'>
Lockdep has found the real bug, but the output doesn't look right to me:

&gt; =========================================================
&gt; [ INFO: possible irq lock inversion dependency detected ]
&gt; 2.6.33-rc5 #77
&gt; ---------------------------------------------------------
&gt; emacs/1609 just changed the state of lock:
&gt;  (&amp;(&amp;tty-&gt;ctrl_lock)-&gt;rlock){+.....}, at: [&lt;ffffffff8127c648&gt;] tty_fasync+0xe8/0x190
&gt; but this lock took another, HARDIRQ-unsafe lock in the past:
&gt;  (&amp;(&amp;sighand-&gt;siglock)-&gt;rlock){-.....}

"HARDIRQ-unsafe" and "this lock took another" looks wrong, afaics.

&gt;   ... key      at: [&lt;ffffffff81c054a4&gt;] __key.46539+0x0/0x8
&gt;   ... acquired at:
&gt;    [&lt;ffffffff81089af6&gt;] __lock_acquire+0x1056/0x15a0
&gt;    [&lt;ffffffff8108a0df&gt;] lock_acquire+0x9f/0x120
&gt;    [&lt;ffffffff81423012&gt;] _raw_spin_lock_irqsave+0x52/0x90
&gt;    [&lt;ffffffff8127c1be&gt;] __proc_set_tty+0x3e/0x150
&gt;    [&lt;ffffffff8127e01d&gt;] tty_open+0x51d/0x5e0

The stack-trace shows that this lock (ctrl_lock) was taken under
-&gt;siglock (which is hopefully irq-safe).

This is a clear typo in check_usage_backwards() where we tell the print a
fancy routine we're forwards.

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
LKML-Reference: &lt;20100126181641.GA10460@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>locking: Convert __raw_spin* functions to arch_spin*</title>
<updated>2009-12-14T22:55:32Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2009-12-02T19:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62'/>
<id>urn:sha1:0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62</id>
<content type='text'>
Name space cleanup. No functional change.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: linux-arch@vger.kernel.org
</content>
</entry>
<entry>
<title>locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED</title>
<updated>2009-12-14T22:55:32Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2009-12-03T11:38:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=edc35bd72e2079b25f99c5da7d7a65dbbffc4a26'/>
<id>urn:sha1:edc35bd72e2079b25f99c5da7d7a65dbbffc4a26</id>
<content type='text'>
Further name space cleanup. No functional change

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: linux-arch@vger.kernel.org
</content>
</entry>
<entry>
<title>locking: Convert raw_spinlock to arch_spinlock</title>
<updated>2009-12-14T22:55:32Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2009-12-02T18:49:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=445c89514be242b1b0080056d50bdc1b72adeb5c'/>
<id>urn:sha1:445c89514be242b1b0080056d50bdc1b72adeb5c</id>
<content type='text'>
The raw_spin* namespace was taken by lockdep for the architecture
specific implementations. raw_spin_* would be the ideal name space for
the spinlocks which are not converted to sleeping locks in preempt-rt.

Linus suggested to convert the raw_ to arch_ locks and cleanup the
name space instead of using an artifical name like core_spin,
atomic_spin or whatever

No functional change.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: linux-arch@vger.kernel.org

</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu</title>
<updated>2009-12-14T17:58:24Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-12-14T17:58:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d0316554d3586cbea60592a41391b5def2553d6f'/>
<id>urn:sha1:d0316554d3586cbea60592a41391b5def2553d6f</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)
  m68k: rename global variable vmalloc_end to m68k_vmalloc_end
  percpu: add missing per_cpu_ptr_to_phys() definition for UP
  percpu: Fix kdump failure if booted with percpu_alloc=page
  percpu: make misc percpu symbols unique
  percpu: make percpu symbols in ia64 unique
  percpu: make percpu symbols in powerpc unique
  percpu: make percpu symbols in x86 unique
  percpu: make percpu symbols in xen unique
  percpu: make percpu symbols in cpufreq unique
  percpu: make percpu symbols in oprofile unique
  percpu: make percpu symbols in tracer unique
  percpu: make percpu symbols under kernel/ and mm/ unique
  percpu: remove some sparse warnings
  percpu: make alloc_percpu() handle array types
  vmalloc: fix use of non-existent percpu variable in put_cpu_var()
  this_cpu: Use this_cpu_xx in trace_functions_graph.c
  this_cpu: Use this_cpu_xx for ftrace
  this_cpu: Use this_cpu_xx in nmi handling
  this_cpu: Use this_cpu operations in RCU
  this_cpu: Use this_cpu ops for VM statistics
  ...

Fix up trivial (famous last words) global per-cpu naming conflicts in
	arch/x86/kvm/svm.c
	mm/slab.c
</content>
</entry>
<entry>
<title>lockdep: Avoid out of bounds array reference in save_trace()</title>
<updated>2009-12-10T07:29:33Z</updated>
<author>
<name>Luck, Tony</name>
</author>
<published>2009-12-09T22:29:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea5b41f9d595be354f7a50e56b28c2d72e6e88a5'/>
<id>urn:sha1:ea5b41f9d595be354f7a50e56b28c2d72e6e88a5</id>
<content type='text'>
ia64 found this the hard way (because we currently have a stub
for save_stack_trace() that does nothing). But it would be a
good idea to  be cautious in case a real save_stack_trace()
bailed out with an error before it set trace-&gt;nr_entries.

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: luming.yu@intel.com
LKML-Reference: &lt;4b2024d085302c2a2@agluck-desktop.sc.intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>lockstat: Fix min, max times in /proc/lock_stats</title>
<updated>2009-12-06T12:20:00Z</updated>
<author>
<name>Frank Rowand</name>
</author>
<published>2009-11-19T21:42:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=109d71c6dd52ec08878c2c67eb4c0bd67fcbc80b'/>
<id>urn:sha1:109d71c6dd52ec08878c2c67eb4c0bd67fcbc80b</id>
<content type='text'>
Fix min, max times in /proc/lock_stats

(1) When collecting lock hold and wait times, if the current minimum
    time is zero, it will be replaced by the next time.

(2) When aggregating minimum and maximum lock hold and wait times
    accross cpus, the values are added, instead of selecting the
    minimum and maximum.

Signed-off-by: Frank Rowand &lt;frank.rowand@am.sony.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
LKML-Reference: &lt;4B05BBAE.2050005@am.sony.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing: Rename 'lockdep' event subsystem into 'lock'</title>
<updated>2009-11-13T09:48:27Z</updated>
<author>
<name>Frederic Weisbecker</name>
</author>
<published>2009-11-13T09:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67178767b936fb47a3a5e88097cff41ccbda7acb'/>
<id>urn:sha1:67178767b936fb47a3a5e88097cff41ccbda7acb</id>
<content type='text'>
Lockdep events subsystem gathers various locking related events
such as a request, release, contention or acquisition of a lock.

The name of this event subsystem is a bit of a misnomer since
these events are not quite related to lockdep but more generally
to locking, ie: these events are not reporting lock dependencies
or possible deadlock scenario but pure locking events.

Hence this rename.

Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Acked-by: Hitoshi Mitake &lt;mitake@dcl.info.waseda.ac.jp&gt;
Cc: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Cc: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
LKML-Reference: &lt;1258103194-843-1-git-send-email-fweisbec@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
