libside.git
23 months agoNested scatter-gather array/struct
Mathieu Desnoyers [Mon, 7 Nov 2022 14:56:04 +0000 (09:56 -0500)] 
Nested scatter-gather array/struct

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement scatter-gather array
Mathieu Desnoyers [Sat, 5 Nov 2022 18:54:21 +0000 (14:54 -0400)] 
Implement scatter-gather array

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix g++ build
Mathieu Desnoyers [Sat, 5 Nov 2022 15:37:10 +0000 (11:37 -0400)] 
Fix g++ build

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix g++ build
Mathieu Desnoyers [Sat, 5 Nov 2022 15:36:41 +0000 (11:36 -0400)] 
Fix g++ build

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoIntroduce tracer cb typedef
Mathieu Desnoyers [Sat, 5 Nov 2022 15:34:00 +0000 (11:34 -0400)] 
Introduce tracer cb typedef

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agog++ build fix
Mathieu Desnoyers [Sat, 5 Nov 2022 15:27:01 +0000 (11:27 -0400)] 
g++ build fix

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoBuild fixes with g++
Mathieu Desnoyers [Sat, 5 Nov 2022 15:25:56 +0000 (11:25 -0400)] 
Build fixes with g++

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoMakefile: use $(CC)
Mathieu Desnoyers [Sat, 5 Nov 2022 15:07:49 +0000 (11:07 -0400)] 
Makefile: use $(CC)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoReorder fields
Mathieu Desnoyers [Sat, 5 Nov 2022 15:06:51 +0000 (11:06 -0400)] 
Reorder fields

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoReorganize struct declaration order
Mathieu Desnoyers [Sat, 5 Nov 2022 02:02:12 +0000 (22:02 -0400)] 
Reorganize struct declaration order

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoCoding style
Mathieu Desnoyers [Sat, 5 Nov 2022 01:53:20 +0000 (21:53 -0400)] 
Coding style

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRename side_arg_dynamic_event_struct and side_arg_dynamic_event_field
Mathieu Desnoyers [Sat, 5 Nov 2022 01:50:48 +0000 (21:50 -0400)] 
Rename side_arg_dynamic_event_struct and side_arg_dynamic_event_field

Remove "event" part in name.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRemove side_dynamic_vla_visitor
Mathieu Desnoyers [Sat, 5 Nov 2022 01:43:38 +0000 (21:43 -0400)] 
Remove side_dynamic_vla_visitor

Can now use side_visitor instead.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoMove type structures outside of union
Mathieu Desnoyers [Sat, 5 Nov 2022 01:39:39 +0000 (21:39 -0400)] 
Move type structures outside of union

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse "_sg_" as prefix to type rather than suffix
Mathieu Desnoyers [Sat, 5 Nov 2022 01:31:53 +0000 (21:31 -0400)] 
Use "_sg_" as prefix to type rather than suffix

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoTest scatter-gather integer endianness
Mathieu Desnoyers [Sat, 5 Nov 2022 01:27:50 +0000 (21:27 -0400)] 
Test scatter-gather integer endianness

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement and test side_arg_float_sg
Mathieu Desnoyers [Sat, 5 Nov 2022 01:23:36 +0000 (21:23 -0400)] 
Implement and test side_arg_float_sg

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement scatter-gather float
Mathieu Desnoyers [Sat, 5 Nov 2022 01:18:50 +0000 (21:18 -0400)] 
Implement scatter-gather float

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement nested scatter-gather struct
Mathieu Desnoyers [Sat, 5 Nov 2022 00:51:15 +0000 (20:51 -0400)] 
Implement nested scatter-gather struct

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: move scatter-gather types into main type system
Mathieu Desnoyers [Fri, 4 Nov 2022 21:25:16 +0000 (17:25 -0400)] 
Refactoring: move scatter-gather types into main type system

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRename sav_desc to side_arg_vec
Mathieu Desnoyers [Fri, 4 Nov 2022 20:12:13 +0000 (16:12 -0400)] 
Rename sav_desc to side_arg_vec

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoVisitor: use side_arg_dynamic_u32
Mathieu Desnoyers [Fri, 4 Nov 2022 20:08:01 +0000 (16:08 -0400)] 
Visitor: use side_arg_dynamic_u32

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: combine static and dynamic types
Mathieu Desnoyers [Fri, 4 Nov 2022 20:05:58 +0000 (16:05 -0400)] 
Refactoring: combine static and dynamic types

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoMove type descriptions in header file
Mathieu Desnoyers [Fri, 4 Nov 2022 18:54:34 +0000 (14:54 -0400)] 
Move type descriptions in header file

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoMark all public API structures/unions packed
Mathieu Desnoyers [Fri, 4 Nov 2022 18:24:34 +0000 (14:24 -0400)] 
Mark all public API structures/unions packed

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoAdd NULL static type
Mathieu Desnoyers [Fri, 4 Nov 2022 18:17:57 +0000 (14:17 -0400)] 
Add NULL static type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: move basic types to their own struct
Mathieu Desnoyers [Fri, 4 Nov 2022 18:03:53 +0000 (14:03 -0400)] 
Refactoring: move basic types to their own struct

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoCleanup
Mathieu Desnoyers [Fri, 4 Nov 2022 16:05:05 +0000 (12:05 -0400)] 
Cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse tracer_print_type_integer for pointer types
Mathieu Desnoyers [Fri, 4 Nov 2022 16:02:40 +0000 (12:02 -0400)] 
Use tracer_print_type_integer for pointer types

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRemove byte order from basic type
Mathieu Desnoyers [Fri, 4 Nov 2022 14:32:00 +0000 (10:32 -0400)] 
Remove byte order from basic type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: Use tracer_print_type_integer for scatter-gather type
Mathieu Desnoyers [Fri, 4 Nov 2022 14:05:45 +0000 (10:05 -0400)] 
Refactoring: Use tracer_print_type_integer for scatter-gather type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoIntroduce tracer_print_type_float
Mathieu Desnoyers [Fri, 4 Nov 2022 13:42:17 +0000 (09:42 -0400)] 
Introduce tracer_print_type_float

Combine code between statically defined and dynamic types.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoInteger: combine byte order reversal check
Mathieu Desnoyers [Fri, 4 Nov 2022 13:41:48 +0000 (09:41 -0400)] 
Integer: combine byte order reversal check

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse tracer_print_type_integer for dynamic types
Mathieu Desnoyers [Thu, 3 Nov 2022 00:32:13 +0000 (20:32 -0400)] 
Use tracer_print_type_integer for dynamic types

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactor tracer_print_type_integer for re-use
Mathieu Desnoyers [Thu, 3 Nov 2022 00:28:10 +0000 (20:28 -0400)] 
Refactor tracer_print_type_integer for re-use

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: dynamic type float
Mathieu Desnoyers [Thu, 3 Nov 2022 00:14:33 +0000 (20:14 -0400)] 
Refactoring: dynamic type float

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse integer type for header printing
Mathieu Desnoyers [Wed, 2 Nov 2022 20:31:02 +0000 (16:31 -0400)] 
Use integer type for header printing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse struct side_integer_type for dynamic type
Mathieu Desnoyers [Wed, 2 Nov 2022 20:29:09 +0000 (16:29 -0400)] 
Use struct side_integer_type for dynamic type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agointeger/float values nesting for c++ compat
Mathieu Desnoyers [Wed, 2 Nov 2022 20:08:18 +0000 (16:08 -0400)] 
integer/float values nesting for c++ compat

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agointeger/float values are unions
Mathieu Desnoyers [Wed, 2 Nov 2022 19:52:28 +0000 (15:52 -0400)] 
integer/float values are unions

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse 16-bit type to represent type size in bits
Mathieu Desnoyers [Wed, 2 Nov 2022 19:45:31 +0000 (15:45 -0400)] 
Use 16-bit type to represent type size in bits

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoIntroduce struct side_type_float
Mathieu Desnoyers [Wed, 2 Nov 2022 19:42:44 +0000 (15:42 -0400)] 
Introduce struct side_type_float

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: introduce struct side_float_value
Mathieu Desnoyers [Wed, 2 Nov 2022 19:35:34 +0000 (15:35 -0400)] 
Refactoring: introduce struct side_float_value

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactoring: struct side_integer_value for all type systems
Mathieu Desnoyers [Wed, 2 Nov 2022 19:31:04 +0000 (15:31 -0400)] 
Refactoring: struct side_integer_value for all type systems

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRefactor type system integer types
Mathieu Desnoyers [Wed, 2 Nov 2022 19:16:37 +0000 (15:16 -0400)] 
Refactor type system integer types

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoscatter-gather integer: sign-extend signed types
Mathieu Desnoyers [Wed, 2 Nov 2022 13:33:31 +0000 (09:33 -0400)] 
scatter-gather integer: sign-extend signed types

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoIntroduce side_struct_field_sizeof_bit() macro
Mathieu Desnoyers [Wed, 2 Nov 2022 00:27:14 +0000 (20:27 -0400)] 
Introduce side_struct_field_sizeof_bit() macro

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement support for scatter-gather struct (integers)
Mathieu Desnoyers [Tue, 1 Nov 2022 21:21:34 +0000 (17:21 -0400)] 
Implement support for scatter-gather struct (integers)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoReorder event field init
Mathieu Desnoyers [Tue, 1 Nov 2022 16:27:45 +0000 (12:27 -0400)] 
Reorder event field init

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement std.integer.base (display base 2, 8, 10, 16)
Mathieu Desnoyers [Tue, 1 Nov 2022 16:05:30 +0000 (12:05 -0400)] 
Implement std.integer.base (display base 2, 8, 10, 16)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse uint64_t for string pointer
Mathieu Desnoyers [Tue, 1 Nov 2022 14:48:21 +0000 (10:48 -0400)] 
Use uint64_t for string pointer

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoSelf-described pointer types (32 vs 64 bits)
Mathieu Desnoyers [Tue, 1 Nov 2022 14:44:35 +0000 (10:44 -0400)] 
Self-described pointer types (32 vs 64 bits)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoTest dynamic pointer type
Mathieu Desnoyers [Tue, 1 Nov 2022 02:16:19 +0000 (22:16 -0400)] 
Test dynamic pointer type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement pointer type
Mathieu Desnoyers [Tue, 1 Nov 2022 02:10:00 +0000 (22:10 -0400)] 
Implement pointer type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement support for host/le/be integer and float endianness
Mathieu Desnoyers [Tue, 1 Nov 2022 01:23:05 +0000 (21:23 -0400)] 
Implement support for host/le/be integer and float endianness

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement RCU wait/wakeup scheme based on futex
Mathieu Desnoyers [Mon, 31 Oct 2022 16:16:45 +0000 (12:16 -0400)] 
Implement RCU wait/wakeup scheme based on futex

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoCleanup: remove empty lines
Mathieu Desnoyers [Mon, 31 Oct 2022 15:15:44 +0000 (11:15 -0400)] 
Cleanup: remove empty lines

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFallback to atomic and SEQ_CST if membarrier and libc rseq unavailable
Mathieu Desnoyers [Mon, 31 Oct 2022 14:58:14 +0000 (10:58 -0400)] 
Fallback to atomic and SEQ_CST if membarrier and libc rseq unavailable

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUpdate barrier comments for membarrier/compiler barrier
Mathieu Desnoyers [Sun, 30 Oct 2022 20:01:14 +0000 (16:01 -0400)] 
Update barrier comments for membarrier/compiler barrier

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse membarrier
Mathieu Desnoyers [Sun, 30 Oct 2022 19:56:40 +0000 (15:56 -0400)] 
Use membarrier

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement rseq-based RCU
Mathieu Desnoyers [Sun, 30 Oct 2022 19:42:57 +0000 (15:42 -0400)] 
Implement rseq-based RCU

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix: order of side exit
Mathieu Desnoyers [Sun, 30 Oct 2022 19:39:14 +0000 (15:39 -0400)] 
Fix: order of side exit

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse recursive mutex for side
Mathieu Desnoyers [Sun, 30 Oct 2022 18:31:29 +0000 (14:31 -0400)] 
Use recursive mutex for side

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRemove typically false redundant check on fast-path
Mathieu Desnoyers [Sat, 29 Oct 2022 00:40:36 +0000 (20:40 -0400)] 
Remove typically false redundant check on fast-path

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoEnabled is now uintptr_t
Mathieu Desnoyers [Sat, 29 Oct 2022 00:37:15 +0000 (20:37 -0400)] 
Enabled is now uintptr_t

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse 64-bit masks
Mathieu Desnoyers [Sat, 29 Oct 2022 00:36:02 +0000 (20:36 -0400)] 
Use 64-bit masks

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse uintptr_t for enabled state
Mathieu Desnoyers [Sat, 29 Oct 2022 00:30:56 +0000 (20:30 -0400)] 
Use uintptr_t for enabled state

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix nr_callbacks
Mathieu Desnoyers [Sat, 29 Oct 2022 00:30:38 +0000 (20:30 -0400)] 
Fix nr_callbacks

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoSplit nr callbacks from enabled references
Mathieu Desnoyers [Sat, 29 Oct 2022 00:25:31 +0000 (20:25 -0400)] 
Split nr callbacks from enabled references

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRemove hardcoded tracer calls
Mathieu Desnoyers [Fri, 28 Oct 2022 21:27:00 +0000 (17:27 -0400)] 
Remove hardcoded tracer calls

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRegister events and use them from tracer event notification
Mathieu Desnoyers [Fri, 28 Oct 2022 21:25:44 +0000 (17:25 -0400)] 
Register events and use them from tracer event notification

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoTracer test event registration notification
Mathieu Desnoyers [Fri, 28 Oct 2022 21:06:04 +0000 (17:06 -0400)] 
Tracer test event registration notification

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoTracer event notification register/unregister
Mathieu Desnoyers [Fri, 28 Oct 2022 20:57:55 +0000 (16:57 -0400)] 
Tracer event notification register/unregister

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoDocument side_exit()
Mathieu Desnoyers [Fri, 28 Oct 2022 20:08:23 +0000 (16:08 -0400)] 
Document side_exit()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoEvent registration/unregistration
Mathieu Desnoyers [Fri, 28 Oct 2022 20:01:29 +0000 (16:01 -0400)] 
Event registration/unregistration

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoCircular linked-list implementation
Mathieu Desnoyers [Fri, 28 Oct 2022 13:39:19 +0000 (09:39 -0400)] 
Circular linked-list implementation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse atomic load relaxed MO for enabled state
Mathieu Desnoyers [Fri, 28 Oct 2022 01:43:24 +0000 (21:43 -0400)] 
Use atomic load relaxed MO for enabled state

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoLoad enabled state with relaxed atomic MO
Mathieu Desnoyers [Fri, 28 Oct 2022 01:40:30 +0000 (21:40 -0400)] 
Load enabled state with relaxed atomic MO

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoHandle 0 cb unregister as NOENT error
Mathieu Desnoyers [Fri, 28 Oct 2022 01:36:05 +0000 (21:36 -0400)] 
Handle 0 cb unregister as NOENT error

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agocallback register/unregister
Mathieu Desnoyers [Fri, 28 Oct 2022 01:31:42 +0000 (21:31 -0400)] 
callback register/unregister

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoInit RCU, add empty side callback
Mathieu Desnoyers [Thu, 27 Oct 2022 20:19:11 +0000 (16:19 -0400)] 
Init RCU, add empty side callback

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix: remove bogus parenthesis
Mathieu Desnoyers [Thu, 27 Oct 2022 20:06:49 +0000 (16:06 -0400)] 
Fix: remove bogus parenthesis

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoside initialization
Mathieu Desnoyers [Thu, 27 Oct 2022 19:55:38 +0000 (15:55 -0400)] 
side initialization

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoHidden visibility for internal symbol
Mathieu Desnoyers [Thu, 27 Oct 2022 19:47:30 +0000 (15:47 -0400)] 
Hidden visibility for internal symbol

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoImplement get_possible_cpus_array_len()
Mathieu Desnoyers [Thu, 27 Oct 2022 19:46:37 +0000 (15:46 -0400)] 
Implement get_possible_cpus_array_len()

MIT code imported from LTTng-UST.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: Move implementation to rcu.c
Mathieu Desnoyers [Thu, 27 Oct 2022 18:09:09 +0000 (14:09 -0400)] 
RCU: Move implementation to rcu.c

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: only sum active readers when needed
Mathieu Desnoyers [Thu, 27 Oct 2022 18:02:48 +0000 (14:02 -0400)] 
RCU: only sum active readers when needed

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: update barrier comments
Mathieu Desnoyers [Thu, 27 Oct 2022 15:54:30 +0000 (11:54 -0400)] 
RCU: update barrier comments

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: update memory barrier comments
Mathieu Desnoyers [Thu, 27 Oct 2022 15:41:10 +0000 (11:41 -0400)] 
RCU: update memory barrier comments

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: refactor active reader scans
Mathieu Desnoyers [Thu, 27 Oct 2022 15:37:53 +0000 (11:37 -0400)] 
RCU: refactor active reader scans

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix: remove bogus goto
Mathieu Desnoyers [Thu, 27 Oct 2022 15:05:53 +0000 (11:05 -0400)] 
Fix: remove bogus goto

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: check for both period active readers initially
Mathieu Desnoyers [Thu, 27 Oct 2022 15:00:37 +0000 (11:00 -0400)] 
RCU: check for both period active readers initially

Considering that the period flip is only useful for forward progress, we
can initially try to observe whether both periods have 0 readers active
to complete the grace period.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUpdate barriers to SEQ_CST in read begin/end
Mathieu Desnoyers [Wed, 26 Oct 2022 19:04:08 +0000 (15:04 -0400)] 
Update barriers to SEQ_CST in read begin/end

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUse xor rather than 1 - x pattern to get prior period
Mathieu Desnoyers [Wed, 26 Oct 2022 17:55:55 +0000 (13:55 -0400)] 
Use xor rather than 1 - x pattern to get prior period

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: implement dereference and assign pointer
Mathieu Desnoyers [Wed, 26 Oct 2022 16:25:11 +0000 (12:25 -0400)] 
RCU: implement dereference and assign pointer

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoRCU: use SEQ_CST MO
Mathieu Desnoyers [Wed, 26 Oct 2022 15:43:34 +0000 (11:43 -0400)] 
RCU: use SEQ_CST MO

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoUnsigned type for enum bitmap mappings
Mathieu Desnoyers [Tue, 25 Oct 2022 20:13:02 +0000 (16:13 -0400)] 
Unsigned type for enum bitmap mappings

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoEvent hidden/exported linkage
Mathieu Desnoyers [Tue, 25 Oct 2022 20:08:36 +0000 (16:08 -0400)] 
Event hidden/exported linkage

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix dynamic attributes printing
Mathieu Desnoyers [Tue, 25 Oct 2022 19:37:17 +0000 (15:37 -0400)] 
Fix dynamic attributes printing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoAdd NULL user attribute type
Mathieu Desnoyers [Tue, 25 Oct 2022 18:55:45 +0000 (14:55 -0400)] 
Add NULL user attribute type

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.039291 seconds and 4 git commands to generate.