This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH 1/2] lockdep missing barrier()
- From: Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>
- To: Ingo Molnar <mingo at redhat dot com>
- Cc: Andrew Morton <akpm at osdl dot org>, Greg Kroah-Hartman <gregkh at suse dot de>, Christoph Hellwig <hch at infradead dot org>, linux-kernel at vger dot kernel dot org, ltt-dev at shafik dot org, "Martin J. Bligh" <mbligh at mbligh dot org>, Douglas Niehaus <niehaus at eecs dot ku dot edu>, systemtap at sources dot redhat dot com, Thomas Gleixner <tglx at linutronix dot de>, Richard J Moore <richardj_moore at uk dot ibm dot com>
- Date: Tue, 16 Jan 2007 12:56:24 -0500
- Subject: [PATCH 1/2] lockdep missing barrier()
- References: <20061220235216.GA28643@Krystal> <OFAB3D8A6C.1643F2D3-ON80257262.000581E4-80257262.00088F04@uk.ibm.com>
This patch adds a barrier() to lockdep.c lockdep_recursion updates. This
variable behaves like the preemption count and should therefore use similar
memory barriers.
This patch applies on 2.6.20-rc4-git3.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -166,12 +166,14 @@ static struct list_head chainhash_table[CHAINHASH_SIZE];
void lockdep_off(void)
{
current->lockdep_recursion++;
+ barrier();
}
EXPORT_SYMBOL(lockdep_off);
void lockdep_on(void)
{
+ barrier();
current->lockdep_recursion--;
}
--
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68