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>
Mathieu Desnoyers [Fri, 21 Oct 2022 19:16:53 +0000 (15:16 -0400)]
Introduce side callbacks
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 18:53:57 +0000 (14:53 -0400)]
update comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 18:52:47 +0000 (14:52 -0400)]
Add tracer private data pointer
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 18:50:21 +0000 (14:50 -0400)]
Move event descriptions and enabled state into sections
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 18:44:42 +0000 (14:44 -0400)]
Move enabled state outside of event description
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 16:15:18 +0000 (12:15 -0400)]
Dynamic type blob
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 16:03:46 +0000 (12:03 -0400)]
Add binary blob static type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:41:29 +0000 (11:41 -0400)]
Refactor: use _side_field()
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:37:04 +0000 (11:37 -0400)]
Refactor _side_field() macro
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:25:25 +0000 (11:25 -0400)]
Remove specific side_elem_* macros
Can now use side_type_*() macros within side_elem().
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:21:31 +0000 (11:21 -0400)]
side_type/side_elem cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:08:04 +0000 (11:08 -0400)]
Introduce side_elem_* for integer types
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 15:01:00 +0000 (11:01 -0400)]
Visitors: use macros
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 14:55:39 +0000 (10:55 -0400)]
Specialize side_field() macros
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 14:45:22 +0000 (10:45 -0400)]
Split enum macros
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 14:38:54 +0000 (10:38 -0400)]
Split enum bitmap into own structures
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 02:01:02 +0000 (22:01 -0400)]
Move kernel mask to implementation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 01:58:42 +0000 (21:58 -0400)]
Introduce side_call*
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 01:39:51 +0000 (21:39 -0400)]
Introduce enum bitmap type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 21 Oct 2022 01:08:19 +0000 (21:08 -0400)]
Implement enum type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 20 Oct 2022 19:36:06 +0000 (15:36 -0400)]
Typed user attributes
Allow user attributes to use basic types.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 20 Oct 2022 15:58:33 +0000 (11:58 -0400)]
Fix typo
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 20 Oct 2022 15:53:28 +0000 (11:53 -0400)]
Document TODO for extensibility requirement
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 20 Oct 2022 15:50:42 +0000 (11:50 -0400)]
Implement floating point type support
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 16:17:29 +0000 (12:17 -0400)]
Implement dynamic type attributes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 14:30:53 +0000 (10:30 -0400)]
Static field attributes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 14:13:10 +0000 (10:13 -0400)]
Reverse order of event attribute and field parameter
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 14:07:12 +0000 (10:07 -0400)]
Add static type attributes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 13:39:57 +0000 (09:39 -0400)]
Move print attributes higher in implementation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Oct 2022 13:38:21 +0000 (09:38 -0400)]
Implement event attributes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 17 Oct 2022 13:54:29 +0000 (09:54 -0400)]
Implement dynamic struct visitor
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 17 Oct 2022 13:37:40 +0000 (09:37 -0400)]
Implement dynamic vla visitor
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.03619 seconds and 4 git commands to generate.