public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: David Miller <davem@davemloft.net>
Cc: nickpiggin@yahoo.com.au, linux-kernel@vger.kernel.org,
	paulmck@linux.vnet.ibm.com, ltt-dev@lists.casi.polymtl.ca,
	rp@svcs.cs.pdx.edu
Subject: Re: Sparc64 support added to Userspace RCU
Date: Mon, 16 Nov 2009 15:27:20 -0500	[thread overview]
Message-ID: <20091116202720.GA19798@Krystal> (raw)
In-Reply-To: <20091115.203138.127196997.davem@davemloft.net>

* David Miller (davem@davemloft.net) wrote:
> From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> Date: Thu, 22 Oct 2009 15:57:53 -0400
> 
> > Feedback is welcome,
> 
> __sparc_v8__ does not mean 64-bit longs or pointers as implied here:
> 
> #ifndef __SIZEOF_LONG__
> #if (defined(__sparc_v8__) || defined(__sparc_v9__))
> #define __SIZEOF_LONG__ 8
> #else
> #define __SIZEOF_LONG__ 4
> #endif
> #endif
> 
> "v8" was the last 32-bit standard of the cpu architecture.
> 
> Otherwise looks fine.
> 
> Although this port won't be very useful until it can be built in
> 32-bit mode.  As most applications on sparc64 systems are still
> 32-bit.  Like on powerpc, people only rarely build things 64-bit on
> sparc64.
> 
> You need to build with "-Wa,-Av9a" on the GCC command line for that
> case so that the assembler allows the v9 instructions emitted by your
> macros, even when building for 32-bit.
> 
> Hope this helps.

Yes ! Thanks a lot for this information. I'll push the following fix in
my tree.

Mathieu

diff --git a/README b/README
index 883b808..ca23d43 100644
--- a/README
+++ b/README
@@ -18,11 +18,14 @@ BUILDING
 		Forcing a 32-bit build with 386 backward compatibility:
 		* CFLAGS="-m32 -g -O2" ./configure --host=i386-pc-linux-gnu
 
+		Forcing a 32-bit build for Sparcv9 (typical for Sparc v9)
+		* CFLAGS="-m32 -Wa,-Av9a -g -O2" ./configure
+
 ARCHITECTURES SUPPORTED
 -----------------------
 
 Currently, x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64, S390, S390x
-and Sparc64 are supported. Only tested on Linux so far, but should
+and Sparcv9 32/64 are supported. Only tested on Linux so far, but should
 theoretically work on other operating systems.
 
 QUICK START GUIDE
diff --git a/urcu/uatomic_arch_sparc64.h b/urcu/uatomic_arch_sparc64.h
index 35b9ac2..28829d2 100644
--- a/urcu/uatomic_arch_sparc64.h
+++ b/urcu/uatomic_arch_sparc64.h
@@ -24,7 +24,7 @@
 #include <urcu/system.h>
 
 #ifndef __SIZEOF_LONG__
-#if (defined(__sparc_v8__) || defined(__sparc_v9__))
+#ifdef __LP64__
 #define __SIZEOF_LONG__ 8
 #else
 #define __SIZEOF_LONG__ 4

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  reply	other threads:[~2009-11-16 20:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-22 18:32 sparc64 cmpxchg is not a full memory barrier anymore ? Mathieu Desnoyers
2009-10-22 19:57 ` Sparc64 support added to Userspace RCU Mathieu Desnoyers
2009-11-16  4:31   ` David Miller
2009-11-16 20:27     ` Mathieu Desnoyers [this message]
2009-10-22 21:56 ` sparc64 cmpxchg is not a full memory barrier anymore ? David Miller
2009-10-23 12:33   ` Mathieu Desnoyers
2009-10-23 14:19     ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091116202720.GA19798@Krystal \
    --to=mathieu.desnoyers@polymtl.ca \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ltt-dev@lists.casi.polymtl.ca \
    --cc=nickpiggin@yahoo.com.au \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rp@svcs.cs.pdx.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox