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>
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>
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>
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>
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>
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>
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>
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>
Mathieu Desnoyers [Sat, 5 Nov 2022 15:06:51 +0000 (11:06 -0400)]
Reorder fields
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
Mathieu Desnoyers [Sat, 5 Nov 2022 01:53:20 +0000 (21:53 -0400)]
Coding style
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mathieu Desnoyers [Fri, 4 Nov 2022 16:05:05 +0000 (12:05 -0400)]
Cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mathieu Desnoyers [Sun, 30 Oct 2022 19:56:40 +0000 (15:56 -0400)]
Use membarrier
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mathieu Desnoyers [Thu, 27 Oct 2022 19:55:38 +0000 (15:55 -0400)]
side initialization
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.