urcu:stable-0.7

Last commit made on 2016-04-26
Get this branch:
git clone -b stable-0.7 https://git.launchpad.net/urcu

Branch merges

Branch information

Name:
stable-0.7
Repository:
lp:urcu

Recent commits

2819ef6... by Mathieu Desnoyers

Version 0.7.17

Signed-off-by: Mathieu Desnoyers <email address hidden>

a554a66... by Mathieu Desnoyers

Fix: urcu-signal: smp_mb_master() needs registry lock

The signal-based urcu flavor calls smp_mb_master() within the wait_gp()
function. Since commit "Fix: deadlock when thread join is issued in
read-side C.S.", wait_gp() is called without the registry lock held.

Ensure that the registry lock is only released around the wait per se,
not around the call to smp_mb_master(), otherwise we end up iterating on
a non-consistent thread registry in smp_mb_master().

Signed-off-by: Mathieu Desnoyers <email address hidden>

323c5cb... by Mathieu Desnoyers

Version 0.7.16

Signed-off-by: Mathieu Desnoyers <email address hidden>

143f99b... by Mathieu Desnoyers

Fix: format string signedness

Detected by cppcheck.

Signed-off-by: Mathieu Desnoyers <email address hidden>

6097580... by Dimitri John Ledkov

Use gcc atomics on aarch64/powerpc64le

Currently there are two fairly recent architectures, which at the
moment can only be compiled with "gcc atomics" code path.
The two new architectures are (GNU Types):
* aarch64-linux-gnu (aka ARMv8, ARM64, AARCH64, etc)
* powerpc64le-linux-gnu

Signed-off-by: Mathieu Desnoyers <email address hidden>

e0a8555... by Mathieu Desnoyers

Fix: compat_futex: uninitialized ret variable

Signed-off-by: Mathieu Desnoyers <email address hidden>

1983709... by Mathieu Desnoyers

Fix: compat_futex_noasync: don't override return value

Fix error reported by Coverity:
** CID 1324336: Code maintainability issues (UNUSED_VALUE)
/compat_futex.c: 99 in compat_futex_noasync()

Signed-off-by: Mathieu Desnoyers <email address hidden>

33344c0... by Mathieu Desnoyers

Fix: stable-0.7 branch does not have syscall-compat.h

Signed-off-by: Mathieu Desnoyers <email address hidden>

4dcb7af... by Mathieu Desnoyers

Fix: dynamic fallback to compat futex on sys_futex ENOSYS

Some MIPS processors (e.g. Cavium Octeon II) dynamically check if the
CPU supports ll/sc within sys_futex, and return a ENOSYS errno if they
don't, even though the architecture implements sys_futex.

Handle this situation by always building the sys_futex compatibility
layer, and fall-back on it if sys_futex return a ENOSYS errno. This is
a tiny compat layer which adds very little space overhead.

This adds an unlikely branch on return from sys_futex, which should
not be an issue performance-wise (we've already taken a system call).

Since this is a fall-back mode, don't try to be clever, and don't cache
the result, so that the common cases (architectures with a properly
working sys_futex) don't get two conditional branches, just one.

Signed-off-by: Mathieu Desnoyers <email address hidden>
Acked-by: Paul E. McKenney <email address hidden>
CC: Michael Jeanson <email address hidden>
CC: Jon Bernard <email address hidden>

745d4d7... by Mathieu Desnoyers

Version 0.7.15

Signed-off-by: Mathieu Desnoyers <email address hidden>