2007-05-22 16:04:20

by Aurelien Jarno

[permalink] [raw]
Subject: [PATCH] parisc: Disable LWS debugging

The LWS debugging code on parisc is wrongly enabled due to a bug in the
use of the preprocessor directives. This debugging code is not thread
safe and causes problems with a recent glibc on SMP kernels.

Signed-off-by: Aurelien Jarno <[email protected]>
Cc: [email protected]
---
syscall.S | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' [email protected] | [email protected]
`- people.debian.org/~aurel32 | http://www.aurel32.net


diff -u a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -501,7 +501,7 @@
shlw %r20, 4, %r20
add %r20, %r28, %r20

-# ifdef ENABLE_LWS_DEBUG
+# if ENABLE_LWS_DEBUG
/*
DEBUG, check for deadlock!
If the thread register values are the same
@@ -550,7 +550,7 @@
perspective
*/
cas_action:
-#if defined CONFIG_SMP && defined ENABLE_LWS_DEBUG
+#if defined CONFIG_SMP && ENABLE_LWS_DEBUG
/* DEBUG */
mfctl %cr27, %r1
stw %r1, 4(%sr2,%r20)
@@ -562,7 +562,7 @@
#ifdef CONFIG_SMP
/* Free lock */
stw %r20, 0(%sr2,%r20)
-# ifdef ENABLE_LWS_DEBUG
+# if ENABLE_LWS_DEBUG
/* Clear thread register indicator */
stw %r0, 4(%sr2,%r20)
# endif
@@ -576,7 +576,7 @@
#ifdef CONFIG_SMP
/* Free lock */
stw %r20, 0(%sr2,%r20)
-# ifdef ENABLE_LWS_DEBUG
+# if ENABLE_LWS_DEBUG
stw %r0, 4(%sr2,%r20)
# endif
#endif


2007-05-22 15:49:38

by Kyle McMartin

[permalink] [raw]
Subject: Re: [parisc-linux] [PATCH] parisc: Disable LWS debugging

On Tue, May 22, 2007 at 05:38:26PM +0200, Aurelien Jarno wrote:
> The LWS debugging code on parisc is wrongly enabled due to a bug in the
> use of the preprocessor directives. This debugging code is not thread
> safe and causes problems with a recent glibc on SMP kernels.
>
> Signed-off-by: Aurelien Jarno <[email protected]>

merged.