Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [ltt-dev] [PATCH 00/12] provide default definition of uatomic builtins
@ 2010-02-15 19:04 Paolo Bonzini
  2010-02-15 19:04 ` [ltt-dev] [PATCH 01/12] use kernel style makefile output Paolo Bonzini
                   ` (12 more replies)
  0 siblings, 13 replies; 31+ messages in thread
From: Paolo Bonzini @ 2010-02-15 19:04 UTC (permalink / 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(-)





^ permalink raw reply	[flat|nested] 31+ messages in thread
* [ltt-dev] [PATCH 00/12] provide generic version of uatomic and other per-arch defs
@ 2010-02-19 19:22 Paolo Bonzini
  2010-02-19 19:22 ` [ltt-dev] [PATCH 05/12] remove compat_uatomic_cmpxchg #define from non-x86 Paolo Bonzini
  0 siblings, 1 reply; 31+ messages in thread
From: Paolo Bonzini @ 2010-02-19 19:22 UTC (permalink / raw)


v2->v3: added acked-by headers
        changed defaults to generic
        fixed typos and coding standards
        removed last (test) patch

Paolo Bonzini (12):
  use kernel style makefile output
  use autoconf symbolic linking
  add urcu/arch_generic.h
  define sync_core for x86 PIC
  remove compat_uatomic_cmpxchg #define from non-x86
  add uatomic_generic.h, use it for common definitions
  use uatomic_generic.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

 Makefile.am                 |   15 +--
 configure.ac                |   24 +++-
 tests/Makefile.am           |   12 --
 tests/test_uatomic.c        |   13 +--
 urcu/arch_alpha.h           |   48 ++++++
 urcu/arch_generic.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     |   39 ++----
 urcu/uatomic_generic.h      |  355 +++++++++++++++++++++++++++++++++++++++++++
 18 files changed, 633 insertions(+), 488 deletions(-)
 create mode 100644 urcu/arch_alpha.h
 create mode 100644 urcu/arch_generic.h
 create mode 100644 urcu/uatomic_arch_alpha.h
 create mode 100644 urcu/uatomic_generic.h




^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2010-02-20  0:44 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-15 19:04 [ltt-dev] [PATCH 00/12] provide default definition of uatomic builtins Paolo Bonzini
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
2010-02-19 19:22 [ltt-dev] [PATCH 00/12] provide generic version of uatomic and other per-arch defs Paolo Bonzini
2010-02-19 19:22 ` [ltt-dev] [PATCH 05/12] remove compat_uatomic_cmpxchg #define from non-x86 Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox