Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: compudj@krystal.dyndns.org (Mathieu Desnoyers)
Subject: [ltt-dev] [PATCH 00/11] Simplify system dependent URCU code
Date: Sun, 14 Feb 2010 09:25:08 -0500	[thread overview]
Message-ID: <20100214142508.GA5871@Krystal> (raw)
In-Reply-To: <1266081392-8732-1-git-send-email-pbonzini@redhat.com>

* Paolo Bonzini (pbonzini at redhat.com) wrote:
> This patch series simplifies the system dependent code in the
> userspace RCU library by removing redundant definitions and
> moving them to common code.  The common code is then less
> subject to bitrotting because it can be tested on x86 too.

Hi Paolo,

I like the patchset in general. I have a few comments though. Once
addressed, please re-send the whole patchset, as there may be
dependencies between the individual patches.

I'll reply to the individual patches with comments.

Mathieu

> 
> 
> Patches 3 and 4 take care of urcu/arch_*.  Definitions for
> rmb/wmb/mc/rmc/wmc can often be omitted, and even mb can
> for example defer to the compiler-provided __sync_synchronize.
> 
> Patch 5 removes a redundant definition that is probably
> a residual of libatomicops, and so does patch 6.
> 
> Patches 7 to 9 take care of urcu/uatomic_arch_*, by defining
> fallbacks using __sync_* builtins.  S390 can use them completely
> without basically changing the generated code, while other
> architectures still require a little help.
> 
> Patches 10 and 11 show how this helps by supporting
> compilation to unknown architectures that support GCC
> builtins (MIPS and IA64 are serviced nicely for example),
> and by supporting Alpha (obviously chosen as an example of
> read_barrier_depends) with ~20 lines of non-comment code.
> 
> Patch 12 is not meant to be committed, but was used to test
> the atomic op implementations on x86_64.  It is not counted
> in the diffstat below.
> 
> HTH,
> 
> Paolo
> 
> Paolo Bonzini (11+1):
>   use kernel style makefile output
>   use autoconf symbolic linking
>   add urcu/arch_defaults.h
>   define sync_core for x86 PIC
>   __SIZEOF_LONG__ is always defined by GCC
>   remove compat_uatomic_cmpxchg #define from non-x86
>   add uatomic_gcc.h, use it for default definitions
>   use uatomic_gcc.h
>   move whether atomic byte/short exists to uatomic_arch_*.h
>   add Alpha support
>   support compiling on unknown architectures
>   test uatomic_gcc.h
> 
>  Makefile.am                 |   14 +-
>  configure.ac                |   15 ++-
>  tests/test_uatomic.c        |   15 +-
>  urcu/arch_alpha.h           |   49 +++++
>  urcu/arch_defaults.h        |  109 ++++++++++
>  urcu/arch_ppc.h             |   50 +-----
>  urcu/arch_s390.h            |   46 +----
>  urcu/arch_sparc64.h         |   51 +-----
>  urcu/arch_x86.h             |   68 +------
>  urcu/uatomic_arch_alpha.h   |   32 +++
>  urcu/uatomic_arch_ppc.h     |  143 +-------------
>  urcu/uatomic_arch_s390.h    |  193 +------------------
>  urcu/uatomic_arch_sparc64.h |  109 +----------
>  urcu/uatomic_arch_x86.h     |   37 ++----
>  urcu/uatomic_gcc.h          |  293 +++++++++++++++++++++++++++++++++++++++++++
>  15 files changed, 538 insertions(+), 686 deletions(-)
>  create mode 100644 urcu/arch_alpha.h
>  create mode 100644 urcu/arch_defaults.h
>  create mode 100644 urcu/uatomic_arch_alpha.h
>  create mode 100644 urcu/uatomic_gcc.h
> 
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

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




      parent reply	other threads:[~2010-02-14 14:25 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-13 17:16 Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 01/11] use kernel style makefile output Paolo Bonzini
2010-02-14 14:25   ` Mathieu Desnoyers
2010-02-13 17:16 ` [ltt-dev] [PATCH 02/11] use autoconf symbolic linking Paolo Bonzini
2010-02-14 14:25   ` Mathieu Desnoyers
2010-02-13 17:16 ` [ltt-dev] [PATCH 03/11] add urcu/arch_defaults.h Paolo Bonzini
2010-02-14 14:34   ` Mathieu Desnoyers
2010-02-15  7:53     ` Paolo Bonzini
2010-02-15 14:46       ` Mathieu Desnoyers
2010-02-13 17:16 ` [ltt-dev] [PATCH 04/11] define sync_core for x86 PIC Paolo Bonzini
2010-02-14 14:37   ` Mathieu Desnoyers
2010-02-15  8:10     ` Paolo Bonzini
2010-02-15 14:56       ` Mathieu Desnoyers
2010-02-13 17:16 ` [ltt-dev] [PATCH 05/11] __SIZEOF_LONG__ is always defined by GCC Paolo Bonzini
2010-02-14 14:38   ` Mathieu Desnoyers
2010-02-15  7:54     ` Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 06/11] remove compat_uatomic_cmpxchg #define from non-x86 Paolo Bonzini
2010-02-14 14:38   ` Mathieu Desnoyers
2010-02-13 17:16 ` [ltt-dev] [PATCH 07/11] add uatomic_gcc.h, use it for default definitions Paolo Bonzini
2010-02-14 14:45   ` Mathieu Desnoyers
2010-02-15  8:05     ` Paolo Bonzini
2010-02-15 14:55       ` Mathieu Desnoyers
2010-02-15 15:38         ` Paolo Bonzini
2010-02-15 16:23           ` Mathieu Desnoyers
2010-02-15 16:36             ` Paolo Bonzini
2010-02-15 16:51               ` Mathieu Desnoyers
2010-02-15 16:55                 ` Paolo Bonzini
2010-02-15 17:13                   ` Mathieu Desnoyers
2010-02-15  8:06     ` Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 08/11] use uatomic_gcc.h Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 09/11] move whether atomic byte/short exists to uatomic_arch_*.h Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 10/11] add Alpha support Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 11/11] support compiling on unknown architectures Paolo Bonzini
2010-02-13 17:16 ` [ltt-dev] [PATCH 12/11] test uatomic_gcc.h Paolo Bonzini
2010-02-14 14:25 ` Mathieu Desnoyers [this message]

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=20100214142508.GA5871@Krystal \
    --to=compudj@krystal.dyndns.org \
    /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