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>
Mathieu Desnoyers [Tue, 25 Oct 2022 16:20:34 +0000 (12:20 -0400)]
Update rcu comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 16:16:11 +0000 (12:16 -0400)]
Implement side per-cpu RCU
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 15:19:13 +0000 (11:19 -0400)]
Use fprintf to stderr for error output
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 15:16:57 +0000 (11:16 -0400)]
Accept byte type for enum bitmap
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 15:01:43 +0000 (11:01 -0400)]
Rename "blob" type to "byte"
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 14:56:31 +0000 (10:56 -0400)]
Reject signed bitmap enum elements
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 14:33:45 +0000 (10:33 -0400)]
Reverse argument order for enum and enum bitmap
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 14:27:42 +0000 (10:27 -0400)]
Improve makefile
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 14:20:27 +0000 (10:20 -0400)]
Refactor enum bitmap
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 13:57:41 +0000 (09:57 -0400)]
Refactor enum type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 25 Oct 2022 13:08:34 +0000 (09:08 -0400)]
Enum bitmap vla and array
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 20:16:12 +0000 (16:16 -0400)]
Test fmt string
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 20:16:01 +0000 (16:16 -0400)]
Fix variadic attributes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 18:52:07 +0000 (14:52 -0400)]
Header cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 18:40:05 +0000 (14:40 -0400)]
Combine common type header code
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 17:17:15 +0000 (13:17 -0400)]
Move attributes into dynamic compound types
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 16:44:25 +0000 (12:44 -0400)]
Move attributes to specific types
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 16:21:46 +0000 (12:21 -0400)]
Print "element:" for dynamic type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 16:18:05 +0000 (12:18 -0400)]
Use fields::, elements::, value:: for dynamic fields
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 16:13:22 +0000 (12:13 -0400)]
Print "elements:" for array and vla
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 16:08:25 +0000 (12:08 -0400)]
Use "fields:" for struct
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 24 Oct 2022 15:56:58 +0000 (11:56 -0400)]
Move support both literal and explicit struct definition
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.038104 seconds and 4 git commands to generate.