Project

General

Profile

Actions

Feature #940

open

Wire up sys membarrier on each architecture

Added by Mathieu Desnoyers over 8 years ago. Updated about 1 year ago.

Status:
New
Priority:
Normal
Target version:
-
Start date:
09/26/2015
Due date:
% Done:

0%

Estimated time:
Actions #1

Updated by Mathieu Desnoyers over 8 years ago

x86 32/64 is done.

Actions #2

Updated by Mathieu Desnoyers over 8 years ago

s390/s390x is done.

Actions #3

Updated by Mathieu Desnoyers over 8 years ago

For power8 and aarch64, will need to bind to arch-specific headers rather than "gcc", but still use the generic atomic implementation.

Actions #4

Updated by Mathieu Desnoyers over 8 years ago

powerpc 32/64 (except power8) is done.

Actions #5

Updated by Mathieu Desnoyers over 8 years ago

For ia64, will need to create arch-specific header, and still use gcc generic atomics.

Actions #6

Updated by Mathieu Desnoyers over 8 years ago

tile needs own arch-specific header, which use generic atomics.

Actions #7

Updated by Mathieu Desnoyers over 8 years ago

arm system call has been pulled into Linux. Should be added to urcu.

Actions #8

Updated by Mathieu Desnoyers over 8 years ago

arm32 is done.

Actions #9

Updated by Mathieu Desnoyers over 8 years ago

power8 is done.

Actions #10

Updated by Mathieu Desnoyers over 8 years ago

aarch64 is done.

Actions #11

Updated by Mathieu Desnoyers over 8 years ago

ia64 is done.

Actions #12

Updated by Mathieu Desnoyers over 8 years ago

tile is done.

Actions #13

Updated by Mathieu Desnoyers over 8 years ago

Architectures not yet available at kernel level but present in urcu: alpha, hppa, mips, sparc64.

Actions #14

Updated by Mathieu Desnoyers over 8 years ago

MIPS syscalls are merged into mainline kernel, however since there are 3 mips ABIs, wiring them up in urcu is not straightforward and would require access to MIPS boards for testing.

Actions #15

Updated by Mathieu Desnoyers over 8 years ago

hppa is done.

Actions #16

Updated by Mathieu Desnoyers over 8 years ago

sparc64 is done.

Actions #17

Updated by Mathieu Desnoyers over 8 years ago

Still missing: MIPS (there are about 3 ABIs, not trivial, need testing). alpha (syscall not wired in the kernel).

Actions #19

Updated by Mathieu Desnoyers about 1 year ago

So only MIPS appears to be missing at this point, mostly because we don't have any test boards in our CI:

MIPS membarrier system call in the upstream kernel:

kernel/syscalls/syscall_n64.tbl
329:318    n64    membarrier            sys_membarrier

kernel/syscalls/syscall_n32.tbl
333:322    n32    membarrier            sys_membarrier

kernel/syscalls/syscall_o32.tbl
372:358    o32    membarrier            sys_membarrier
Actions

Also available in: Atom PDF