From: pbonzini@redhat.com (Paolo Bonzini)
Subject: [ltt-dev] [PATCH 00/12] provide default definition of uatomic builtins
Date: Mon, 15 Feb 2010 20:04:33 +0100 [thread overview]
Message-ID: <1266260686-17588-1-git-send-email-pbonzini@redhat.com> (raw)
So here we go with v2. Changes are:
- tests/api.h also symlinked
- uatomic_gcc.h renamed to uatomic_defaults.h as even architectures
that don't want __sync_* builtins use it
- improved comments about mc/rmc/wmc in urcu/arch_defaults.h
- changed BITS_PER_LONG patch since __SIZEOF_LONG__ was newer than I
thought, placed this patch at the end so you can omit it easily
if NACKed (requires GCC 3.4 on 64-bit systems, nothing on 32-bit)
- added back assembly code for PPC and S390 so that those platforms
do not need __sync_* builtins (SPARC and x86 didn't already in v1)
- added implementation of uatomic_exchange using __sync_bool_compare_and_swap
(same trick S390 is using in the assembly implementation)
- patch 11 is new
As in v1, the last patch is not to be committed. In the next days/week,
I'll try to build it on more machines and using old GCCs, but I cannot
promise anything right now...
Paolo Bonzini (12):
use kernel style makefile output
use autoconf symbolic linking
add urcu/arch_defaults.h
define sync_core for x86 PIC
remove compat_uatomic_cmpxchg #define from non-x86
add uatomic_defaults.h, use it for default definitions
use uatomic_defaults.h for common fallback implementations
move whether atomic byte/short exists to uatomic_arch_*.h
add Alpha support
support compiling on unknown architectures
avoid multiple evaluation of STORE_SHARED argument
centralize definition of BITS_PER_LONG
test uatomic_defaults.h
Makefile.am | 15 +--
configure.ac | 24 +++-
tests/Makefile.am | 12 --
tests/test_uatomic.c | 13 +--
urcu/arch_alpha.h | 48 ++++++
urcu/arch_defaults.h | 132 ++++++++++++++++
urcu/arch_ppc.h | 54 +------
urcu/arch_s390.h | 50 +------
urcu/arch_sparc64.h | 55 +-------
urcu/arch_x86.h | 68 ++-------
urcu/compiler.h | 8 +
urcu/system.h | 4 +-
urcu/uatomic_arch_alpha.h | 32 ++++
urcu/uatomic_arch_ppc.h | 29 +----
urcu/uatomic_arch_s390.h | 71 +---------
urcu/uatomic_arch_sparc64.h | 112 +-------------
urcu/uatomic_arch_x86.h | 41 ++----
urcu/uatomic_defaults.h | 354 +++++++++++++++++++++++++++++++++++++++++++
18 files changed, 634 insertions(+), 488 deletions(-)
next reply other threads:[~2010-02-15 19:04 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-15 19:04 Paolo Bonzini [this message]
2010-02-15 19:04 ` [ltt-dev] [PATCH 01/12] use kernel style makefile output Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 02/12] use autoconf symbolic linking Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 03/12] add urcu/arch_defaults.h Paolo Bonzini
2010-02-18 2:57 ` Mathieu Desnoyers
2010-02-15 19:04 ` [ltt-dev] [PATCH 04/12] define sync_core for x86 PIC Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 05/12] remove compat_uatomic_cmpxchg #define from non-x86 Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 06/12] add uatomic_defaults.h, use it for default definitions Paolo Bonzini
2010-02-18 3:10 ` Mathieu Desnoyers
2010-02-15 19:04 ` [ltt-dev] [PATCH 07/12] use uatomic_defaults.h for common fallback implementations Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 08/12] move whether atomic byte/short exists to uatomic_arch_*.h Paolo Bonzini
2010-02-18 3:12 ` Mathieu Desnoyers
2010-02-15 19:04 ` [ltt-dev] [PATCH 09/12] add Alpha support Paolo Bonzini
2010-02-18 3:21 ` Mathieu Desnoyers
2010-02-15 19:04 ` [ltt-dev] [PATCH 10/12] support compiling on unknown architectures Paolo Bonzini
2010-02-18 3:22 ` Mathieu Desnoyers
2010-02-15 19:04 ` [ltt-dev] [PATCH 11/12] avoid multiple evaluation of STORE_SHARED argument Paolo Bonzini
2010-02-18 3:28 ` Mathieu Desnoyers
2010-02-18 8:45 ` Paolo Bonzini
2010-02-15 19:04 ` [ltt-dev] [PATCH 12/12] centralize definition of BITS_PER_LONG Paolo Bonzini
2010-02-18 3:25 ` Mathieu Desnoyers
2010-02-18 8:45 ` Paolo Bonzini
2010-02-18 13:46 ` Mathieu Desnoyers
2010-02-18 15:27 ` Paolo Bonzini
2010-02-18 16:09 ` Mathieu Desnoyers
2010-02-19 19:25 ` [ltt-dev] lock-free data structures (was Re: [PATCH 12/12] centralize definition of BITS_PER_LONG) Paolo Bonzini
2010-02-19 23:51 ` Paul E. McKenney
2010-02-20 0:10 ` Paolo Bonzini
2010-02-20 0:44 ` Paul E. McKenney
2010-02-15 19:04 ` [ltt-dev] [PATCH 13/12] test uatomic_defaults.h Paolo Bonzini
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=1266260686-17588-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
/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