index
:
librseq/librseq.git
master
pseudo-code
rseq-percpu-alloc
Restartable Sequences Library
RSeq Group
about
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
Age
Commit message (
Expand
)
Author
Files
Lines
2024-02-29
rseq percpu alloc: Add percpu pool set
rseq-percpu-alloc
Mathieu Desnoyers
2
-11
/
+259
2024-02-29
wip: Implement per-cpu memory allocator
Mathieu Desnoyers
4
-1
/
+230
2024-02-29
Introduce __RSEQ_ASM_DEFINE_CS_FIELDS
Mathieu Desnoyers
3
-10
/
+17
2024-02-29
Introduce common generic header file
Mathieu Desnoyers
9
-452
/
+131
2024-02-29
x86: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-1
/
+4
2024-02-29
riscv: Introduce RSEQ_ASM_U64_PTR and RSEQ_ASM_U32
Mathieu Desnoyers
1
-7
/
+12
2024-02-29
s390: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-2
/
+5
2024-02-29
ppc: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-2
/
+5
2024-02-29
mips: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-3
/
+7
2024-02-29
arm: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-3
/
+7
2024-02-29
aarch64: Introduce RSEQ_ASM_U32
Mathieu Desnoyers
1
-1
/
+3
2024-02-29
thread-pointer: suffix include guard with _H
Mathieu Desnoyers
1
-2
/
+2
2024-02-29
arm: Fix big endian, introduce RSEQ_ASM_U64_PTR
Mathieu Desnoyers
1
-4
/
+15
2024-02-29
arm: Cleanup header codying style
Mathieu Desnoyers
1
-4
/
+4
2024-02-29
aarch64: Introduce RSEQ_ASM_U64_PTR
Mathieu Desnoyers
1
-5
/
+8
2024-02-29
aarch64: Cleanup header coding style
Mathieu Desnoyers
1
-4
/
+4
2024-02-28
s390: Introduce code deduplication macros
Mathieu Desnoyers
1
-86
/
+53
2024-02-28
ppc: Introduce code deduplication macros
Mathieu Desnoyers
1
-106
/
+69
2024-02-28
x86: Introduce code deduplication macros
Mathieu Desnoyers
1
-84
/
+45
2024-02-28
mips: Reorganise code deduplication macros
Mathieu Desnoyers
1
-19
/
+31
2024-02-28
Re-organise public headers
Michael Jeanson
29
-252
/
+441
2024-02-28
Fix supported autotools versions in README.md
Michael Jeanson
1
-2
/
+2
2024-02-27
RSEQ_ASM_DEFINE_TABLE: use parentheses around parameters on all archs
Mathieu Desnoyers
7
-8
/
+8
2024-02-27
Comment s390 macros implementation
Mathieu Desnoyers
1
-19
/
+119
2024-02-27
s390: namespace public header macros under RSEQ_ASM_
Mathieu Desnoyers
2
-63
/
+63
2024-02-27
Comment riscv macros implementation
Mathieu Desnoyers
1
-10
/
+107
2024-02-27
riscv: Add missing "inc" parameter to RSEQ_ASM_OP_R_DEREF_ADDV
Mathieu Desnoyers
2
-2
/
+2
2024-02-27
riscv: namespace public header macros under RSEQ_ASM_
Mathieu Desnoyers
1
-19
/
+19
2024-02-27
mips: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argument
Mathieu Desnoyers
2
-17
/
+17
2024-02-27
arm: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argument
Mathieu Desnoyers
2
-17
/
+17
2024-02-27
Comment mips macros implementation
Mathieu Desnoyers
1
-12
/
+101
2024-02-27
Comment ppc macros implementation
Mathieu Desnoyers
1
-25
/
+129
2024-02-27
Comment arm64 macros implementation
Mathieu Desnoyers
1
-10
/
+93
2024-02-27
Comment arm macros implementation
Mathieu Desnoyers
1
-8
/
+93
2024-02-27
Comment x86 asm macros implementation
Mathieu Desnoyers
2
-43
/
+129
2024-02-27
mips: Namespace type helpers under RSEQ_ASM_*
Mathieu Desnoyers
2
-70
/
+70
2024-02-27
ppc: Rename RSEQ_ASM_OP_R_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPY
Mathieu Desnoyers
2
-2
/
+2
2024-02-27
riscv: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPY
Mathieu Desnoyers
2
-2
/
+2
2024-02-27
arm64: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPY
Mathieu Desnoyers
2
-2
/
+2
2024-02-27
ppc: Rename RSEQ_ helpers to RSEQ_ASM_
Mathieu Desnoyers
1
-29
/
+29
2024-02-27
Rename RSEQ_TEMPLATE macros
Mathieu Desnoyers
16
-153
/
+153
2024-02-27
x86: Use RSEQ_ASM_ prefix for RSEQ_CPU_ID_OFFSET, RSEQ_CS_OFFSET, RSEQ_MM_CID...
Mathieu Desnoyers
3
-18
/
+18
2024-02-27
x86-32: Remove support for old IDT WinChip and PPRO
Mathieu Desnoyers
1
-26
/
+4
2024-02-27
Fix: seccomp tests require shared libs
Michael Jeanson
2
-1
/
+6
2024-02-27
x86-64: change jnz/jz for jne/je after cmp/test
Mathieu Desnoyers
1
-22
/
+22
2024-02-27
Rename RSEQ_ASM_DEFINE_CMPFAIL to RSEQ_ASM_DEFINE_TEARDOWN
Mathieu Desnoyers
8
-25
/
+25
2024-02-27
Rename branch labels from cmpfail to ne/eq
Mathieu Desnoyers
7
-168
/
+168
2024-02-27
Update rseq critical section identifiers to match pseudo-code
Mathieu Desnoyers
10
-116
/
+88
2024-02-27
Add rseq critical section pseudocode documentation
Mathieu Desnoyers
10
-0
/
+185
2024-02-23
tests: add unregistered and no syscall tests
Michael Jeanson
12
-4
/
+259
2024-02-23
fix: always set the rseq offset and flags
Michael Jeanson
1
-6
/
+6
2024-02-22
Add 'teardown' parameter to RSEQ_ASM_DEFINE_ABORT on all arch
Michael Jeanson
6
-22
/
+25
2024-02-22
Add comments to rseq_init()
Michael Jeanson
1
-0
/
+39
2024-02-22
doc: fix typo in rseq(2) man page
Michael Jeanson
1
-2
/
+1
2024-02-22
Update autotools archive macros
Michael Jeanson
3
-49
/
+102
2024-02-22
Clarify logic of RSEQ_ASM*_CMP* macros
Mathieu Desnoyers
14
-154
/
+154
2024-02-22
Document alignment of rseq_abi for allocated size
Mathieu Desnoyers
1
-0
/
+6
2024-01-10
Fix: do not skip !allowed_cpus for mm_cid
Mathieu Desnoyers
2
-8
/
+28
2024-01-10
Add arm64 headers to list of headers to be installed
Mathias Stearn
1
-0
/
+2
2023-10-25
riscv: Fix __always_inline causes duplicate inline
Mathieu Desnoyers
1
-7
/
+7
2023-06-12
Add missing copyright headers
Michael Jeanson
4
-0
/
+10
2023-05-04
Remove whiteline
Mathieu Desnoyers
1
-1
/
+0
2023-05-04
Introduce rseq_scalar_type_to_expr to eliminate code duplication
Mathieu Desnoyers
1
-10
/
+10
2023-04-27
fix: compiler warning `-Wswitch-enum`
Gerrit Klein
1
-0
/
+8
2023-04-27
fix: compiler warning `-Wswitch-default`
Gerrit Klein
1
-9
/
+18
2023-04-26
Re-introduce union for rseq_cs ptr
Mathieu Desnoyers
2
-2
/
+21
2023-04-26
Fix: make dist missing header files
Mathieu Desnoyers
1
-0
/
+8
2023-04-25
Fix: percpu ops mm_cid tests
Mathieu Desnoyers
2
-3
/
+5
2023-04-25
Skip mm_cid tests when unavailable
Mathieu Desnoyers
2
-4
/
+10
2023-04-25
parametrized test: Report/abort on negative concurrency ID
Mathieu Desnoyers
1
-2
/
+7
2023-04-25
Implement parametrized mm_cid test
Mathieu Desnoyers
4
-51
/
+144
2023-04-25
Implement basic percpu ops mm_cid test
Mathieu Desnoyers
3
-9
/
+51
2023-04-25
riscv: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-542
/
+438
2023-04-25
s390: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-467
/
+500
2023-04-25
ppc: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-578
/
+485
2023-04-25
mips: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-612
/
+487
2023-04-25
arm64: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-485
/
+421
2023-04-25
arm: Template memory ordering and percpu access mode
Mathieu Desnoyers
2
-669
/
+529
2023-04-25
x86: Template memory ordering and percpu access mode
Mathieu Desnoyers
6
-1266
/
+1247
2023-04-25
Implement rseq numa node id field selftest
Mathieu Desnoyers
1
-1
/
+4
2023-04-25
rseq.h: implement mm_cid and node_id APIs
Mathieu Desnoyers
1
-6
/
+33
2023-04-25
Update rseq.c to query ELF auxvec
Mathieu Desnoyers
2
-18
/
+120
2023-04-25
Cleanup: rseq.h: add extra space around __VA_ARGS__
Mathieu Desnoyers
1
-1
/
+1
2023-04-25
Add mm_cid and numa node id to rseq ABI header
Mathieu Desnoyers
1
-29
/
+34
2023-04-25
Remove RSEQ_SKIP_FASTPATH code
Mathieu Desnoyers
10
-124
/
+0
2023-04-21
Fix: `void *` arithmetic compiler warning
therealthingy
1
-1
/
+2
2023-04-21
All arch: use rseq_unqual_scalar_typeof in load-acquire
Mathieu Desnoyers
6
-7
/
+7
2023-04-21
c++: compiler: use remove_cv and remove_reference in rseq_unqual_scalar_typeof
Mathieu Desnoyers
1
-1
/
+1
2023-04-21
rseq_arm64: use rseq_unqual_scalar_typeof in load-acquire
Mathieu Desnoyers
1
-1
/
+1
2023-04-21
Revert "compiler: C++: simplify rseq_unqual_scalar_typeof implementation"
Mathieu Desnoyers
1
-1
/
+1
2023-04-21
Revert "compiler: c++: use decltype"
Mathieu Desnoyers
1
-1
/
+1
2023-04-21
compiler: c++: use decltype
Mathieu Desnoyers
1
-1
/
+1
2023-04-21
compiler: C++: simplify rseq_unqual_scalar_typeof implementation
Mathieu Desnoyers
1
-1
/
+1
2023-04-20
rseq-arm64: Fix buggy load-acquire/store-release macros
Mathieu Desnoyers
1
-28
/
+30
2023-04-20
compiler: implement rseq_unqual_scalar_typeof
Mathieu Desnoyers
1
-0
/
+31
2023-04-20
Use __asm__ __volatile__ in rseq_after_asm_goto for c11 compatibility
Mathieu Desnoyers
1
-1
/
+1
2023-04-20
architecture headers: add extra parentheses around macro parameters
Mathieu Desnoyers
6
-13
/
+13
2023-04-20
Tests: Introduce arch-mo unit tests
Mathieu Desnoyers
7
-1
/
+151
2023-04-17
Fix: gcc extension compiler warning
Gary Gee
1
-4
/
+4
2023-04-17
Initialize librseq from `rseq_register_current_thread`
Mathieu Desnoyers
1
-3
/
+20
2023-04-14
Implement the REUSE specification for licensing and copyright
Michael Jeanson
57
-63
/
+139
2023-04-14
Relicense librseq to MIT
Mathieu Desnoyers
27
-543
/
+25
2023-01-10
rseq man page: remove _Nullable from rseq argument
Mathieu Desnoyers
1
-1
/
+1
2023-01-10
rseq(2) man page: Update following round of feedback and linting
Mathieu Desnoyers
1
-122
/
+130
2023-01-06
Update rseq.2 man page based on comments
Mathieu Desnoyers
1
-229
/
+263
2023-01-06
Update rseq man page
Mathieu Desnoyers
1
-37
/
+89
2022-10-31
Allowing querying whether libc support rseq
Mathieu Desnoyers
5
-15
/
+33
2022-06-13
Add RISC-V rseq support
Michael Jeanson
5
-0
/
+751
2022-06-13
fix: check if libc rseq support is registered
Michael Jeanson
1
-1
/
+2
2022-02-02
Use ptrdiff_t for rseq_offset
Mathieu Desnoyers
3
-11
/
+13
2022-01-31
Cleanup: x86: remove leftover comment
Mathieu Desnoyers
1
-7
/
+0
2022-01-24
x86-32: use %gs segment selector for accessing rseq thread area
Mathieu Desnoyers
1
-36
/
+38
2022-01-24
x86-64: use %fs segment selector for accessing rseq thread area
Mathieu Desnoyers
1
-32
/
+34
2022-01-24
Remove configure check for rseq.h
Mathieu Desnoyers
1
-4
/
+0
2022-01-24
Remove unused ARRAY_SIZE macro
Mathieu Desnoyers
1
-2
/
+0
2022-01-24
Update header copyright dates
Mathieu Desnoyers
2
-2
/
+2
2022-01-24
Introduce rseq-abi.h
Mathieu Desnoyers
11
-128
/
+94
2022-01-21
Fix: work-around Linux kernel rseq.h uapi endianness issue
Mathieu Desnoyers
5
-5
/
+17
2022-01-21
Fix: use long rather than int for offsets
Mathieu Desnoyers
9
-14
/
+16
2022-01-21
ppc: remove incomplete undef list
Mathieu Desnoyers
1
-5
/
+0
2022-01-21
Fix: use int rather than off_t for offsets
Mathieu Desnoyers
9
-16
/
+14
2022-01-21
mips: use rseq_cs ptr 32-bit field
Mathieu Desnoyers
1
-8
/
+10
2022-01-21
arm64: refer to rseq_cs.ptr field
Mathieu Desnoyers
1
-8
/
+10
2022-01-21
s390/s390x: refer to rseq_cs pointer field
Mathieu Desnoyers
1
-6
/
+10
2022-01-21
arm: refer to 32-bit pointer field for rseq_cs ptr
Mathieu Desnoyers
1
-8
/
+10
2022-01-21
Fix: ppc32: wrong rseq_cs 32-bit field pointer field on big endian
Mathieu Desnoyers
1
-8
/
+12
2022-01-21
Fix: ppc32: do not produce cmpdi invalid instruction
Mathieu Desnoyers
1
-2
/
+4
2022-01-20
Fix: provide membarrier_private_expedited_rseq_available on all architectures
Mathieu Desnoyers
1
-20
/
+20
2022-01-17
Test for membarrier private expedited rseq availability
Mathieu Desnoyers
1
-0
/
+24
2022-01-17
Fix: membarrier flags for kernels headers < 5.10
Mathieu Desnoyers
1
-0
/
+12
2022-01-17
Test MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
Mathieu Desnoyers
2
-2
/
+233
2022-01-17
x86_64: Add rseq_offset_deref_addv()
Mathieu Desnoyers
1
-0
/
+60
2022-01-05
Fix: Warnings about #if checks of undefined tokens
Mathieu Desnoyers
3
-3
/
+3
2022-01-04
Fix: work-around asm goto compiler bugs
Mathieu Desnoyers
8
-6
/
+252
2022-01-04
Remove arm/mips asm goto compiler work-around
Mathieu Desnoyers
2
-74
/
+0
2022-01-04
fix: dead initialization reported by scan-build
Michael Jeanson
1
-3
/
+1
2022-01-04
Add debug output to basic_percpu_ops_test
Michael Jeanson
1
-3
/
+6
2022-01-04
configure: enable extended compiler warnings
Michael Jeanson
9
-31
/
+524
2022-01-04
Build and run tests as C++ programs
Michael Jeanson
12
-11
/
+1145
2021-12-15
param test: Only provide rseq_gettid if BENCHMARK is not defined
Mathieu Desnoyers
1
-5
/
+5
2021-12-15
ppc rseq thread pointer: add extended asm
Mathieu Desnoyers
1
-0
/
+1
2021-12-14
Introduce rseq-generic-thread-pointer.h
Mathieu Desnoyers
3
-13
/
+27
2021-12-14
rseq thread pointer: extern C
Mathieu Desnoyers
3
-0
/
+24
2021-12-14
Introduce RSEQ_GET_ABI_OVERRIDE
Mathieu Desnoyers
1
-11
/
+21
2021-12-14
Add missing rseq thread pointer headers to makefile
Mathieu Desnoyers
1
-1
/
+4
2021-12-14
Introduce rseq-thread-pointer.h
Mathieu Desnoyers
2
-11
/
+24
2021-12-14
Update librseq to co-exist with glibc rseq integration
Mathieu Desnoyers
13
-190
/
+258
2021-12-14
Remove rseq_deref_loadoffp placeholders
Mathieu Desnoyers
5
-35
/
+0
2021-12-14
Add git-review config
Michael Jeanson
1
-0
/
+7
2021-03-19
Modernize autotools setup
Michael Jeanson
6
-147
/
+230
2020-07-13
Skip the tests if the rseq syscall is unavailable
Michael Jeanson
4
-22
/
+52
2020-07-09
Convert test suite to the TAP test protocol
Michael Jeanson
19
-173
/
+2922
2020-07-09
Remove __rseq_handled declaration
Mathieu Desnoyers
1
-1
/
+0
2020-07-08
Add parametrized tests
Mathieu Desnoyers
4
-2
/
+1474
2020-07-08
Add basic test
Mathieu Desnoyers
3
-2
/
+64
2020-07-08
Cleanup: powerpc: Use "long" and "int" to clarify load/store macros
Mathieu Desnoyers
1
-24
/
+28
2020-07-08
Fix: powerpc: Add missing instruction selection "u" and "x" for load/store
Mathieu Desnoyers
1
-15
/
+15
2020-07-07
Wire up basic percpu ops test
Mathieu Desnoyers
1
-0
/
+2
2020-07-07
Add basic percpu ops test
Mathieu Desnoyers
4
-1
/
+328
2020-07-07
Adapt rseq registration to glibc's userspace ABI for __rseq_abi
Mathieu Desnoyers
1
-51
/
+51
2020-06-11
Update man page based on Michael Kerrisk's comments
Mathieu Desnoyers
1
-34
/
+107
2020-06-05
Update rseq.2 man page
Mathieu Desnoyers
1
-9
/
+34
2020-06-05
Wire up man pages build
Mathieu Desnoyers
4
-0
/
+9
2020-06-05
Initial import of rseq.2 man page
Mathieu Desnoyers
1
-0
/
+273
2020-06-05
Remove do_on_cpu dependencies
Mathieu Desnoyers
6
-521
/
+1
2020-06-05
Remove do_on_cpu (prototype)
Mathieu Desnoyers
8
-1003
/
+22
2019-09-19
Cleanup: cplusplus ifdef coding style update
Mathieu Desnoyers
1
-4
/
+4
2019-09-19
Allow using librseq APIs from C++ code
Matthew Glazar
1
-0
/
+16
2019-08-07
memcpy: copy 8 bytes loop
Mathieu Desnoyers
1
-23
/
+59
2019-07-26
Bump do_on_cpu system call number to 434
Mathieu Desnoyers
1
-1
/
+1
2019-07-26
Implement percpu_fence()
Mathieu Desnoyers
1
-0
/
+10
2019-07-25
Fix: add missing do-on-cpu-insn.h to make dist
Mathieu Desnoyers
1
-1
/
+2
2019-07-25
Move to do_on_cpu system call
Mathieu Desnoyers
19
-426
/
+923
2019-06-30
Add ARM big-endian support to rseq headers
Mathieu Desnoyers
1
-1
/
+1
2019-06-30
Fix: Thumb mode build failure on arm32
Mathieu Desnoyers
1
-28
/
+33
2019-06-06
rseq/selftests: mips: use break instruction for RSEQ_SIG
Mathieu Desnoyers
1
-1
/
+33
2019-06-06
rseq/selftests: powerpc code signature: generate valid instructions
Mathieu Desnoyers
1
-1
/
+9
2019-06-06
rseq/selftests: aarch64 code signature: handle big-endian environment
Mathieu Desnoyers
1
-2
/
+15
2019-06-06
rseq/selftests: arm: use udf instruction for RSEQ_SIG
Mathieu Desnoyers
1
-2
/
+50
2019-06-06
rseq/selftests: s390: use trap4 for RSEQ_SIG
Martin Schwidefsky
1
-1
/
+8
2019-06-06
rseq/selftests: x86: use ud1 instruction as RSEQ_SIG opcode
Mathieu Desnoyers
1
-4
/
+11
2019-05-28
Remove volatile, use READ/WRITE ONCE
Mathieu Desnoyers
2
-8
/
+8
2019-04-23
cpu-op: change _mb_ API to _release
Mathieu Desnoyers
3
-8
/
+8
2019-04-23
cpu-op: add add_release API
Mathieu Desnoyers
2
-0
/
+18
2019-04-23
cpu-op lib: Change code layout to remove gcc-4.8 warnings
Mathieu Desnoyers
1
-92
/
+138
2019-04-23
Extend extra/README
Mathieu Desnoyers
1
-1
/
+21
2019-04-23
Add embedded rseq/opv headers for test builds
Michael Jeanson
3
-0
/
+295
2019-04-23
rseq: set refcount back to 1 on unregister failure
Mathieu Desnoyers
1
-0
/
+1
2019-04-22
Add configure report
Michael Jeanson
2
-0
/
+239
2019-04-22
Update macros from the autoconf archive
Michael Jeanson
2
-7
/
+8
2019-04-22
rseq/selftests: x86: Work-around bogus gcc-8 optimisation
Mathieu Desnoyers
1
-74
/
+70
2019-03-27
s390: use jg instruction for jumps outside of the asm
Mathieu Desnoyers
1
-2
/
+2
2019-03-24
Introduce __rseq_handled and rseq_ownership
Mathieu Desnoyers
2
-5
/
+34
2019-03-24
Remove "weak" attribute from symbols
Mathieu Desnoyers
1
-2
/
+2
2019-03-13
Update exit points comments
Mathieu Desnoyers
6
-36
/
+45
2019-03-13
Update arm64 SPDX license identifier
Mathieu Desnoyers
1
-1
/
+1
2019-03-13
Introduce __rseq_cs_ptr_array, rename __rseq_table to __rseq_cs
Mathieu Desnoyers
6
-56
/
+86
2019-03-13
Add __rseq_exit_point_array section for debuggers
Mathieu Desnoyers
6
-0
/
+363
2019-03-13
Add arm64 rseq header
Mathieu Desnoyers
2
-0
/
+596
2019-03-12
Autotools all the things!
Michael Jeanson
17
-74
/
+839
[next]