Jason Volk
d115d88e6c
ircd::ctx: Simplify main thread conditions with tls bit.
2021-03-16 12:58:22 -07:00
Jason Volk
e37a775e9b
ircd::ctx::posix: Add interface to toggle hook; split header internal/external.
2021-01-04 01:12:39 -08:00
Jason Volk
fbc3ab87e9
ircd::ctx: Add interface to change name; implement posix handler.
2020-11-13 21:07:14 -08:00
Jason Volk
30796e5729
ircd::buffer: Fix template name conflicts for clang-11; apply inline linkages.
...
ircd::json::tuple: Fix template name related for clang-11.
ircd::ctx: Fix template related for clang-11; inline linkages.
ircd:Ⓜ️ 🪝 Fix template related for clang-11.
2020-10-29 04:06:59 -07:00
Jason Volk
505fe310a8
ircd::ctx: Inline various codepaths leading to flags(ctx).
...
ircd::ctx: Inline cheap prof::get() wrappings.
2020-06-18 03:56:09 -07:00
Jason Volk
9213d31f1d
ircd::ctx: Inline interruptible(ctx, ...) manipulators.
2020-05-19 15:55:18 -07:00
Jason Volk
3c96120e72
ircd::ctx: Add some noexcept; minor comment justification.
2020-05-18 19:57:54 -07:00
Jason Volk
00fe4baa2a
ircd::ctx: Add direct flags reference accessor to interface.
2020-05-18 19:57:54 -07:00
Jason Volk
18f215d3f0
ircd: Move main_thread assertion related to ctx; adjust condition.
2020-05-04 16:09:39 -07:00
Jason Volk
5a27958fa0
ircd::ctx: Unify access to ctx::stack, expose structure; remove cruft.
2020-04-23 12:41:38 -07:00
Jason Volk
6679b66806
ircd::prof: Move ctx::syscall_usage_warning into prof.
2020-03-06 15:43:24 -08:00
Jason Volk
a6131d1268
ircd::ctx: Split sleep()/wait() suites into headers.
2020-02-28 09:11:06 -08:00
Jason Volk
78d300b3b7
ircd::ctx: Add nice/ionice values to context.
2020-01-06 12:19:38 -08:00
Jason Volk
01af00bae0
ircd::ctx: Preliminary trilean logic concept (WIP).
2019-09-30 14:23:28 -07:00
Jason Volk
009d417273
ircd: Indicate noexcept on advised interfaces.
2019-08-05 16:19:20 -07:00
Jason Volk
6c9dbdbef5
ircd::ctx: Add queued(ctx) state to interface.
2019-07-21 18:07:26 -07:00
Jason Volk
5242432e0c
ircd::ctx: Add concurrent_for_each.
2019-07-14 13:40:04 -07:00
Jason Volk
c7a68a8cb3
ircd::ctx: Fix ctx::parallel argument allocation assumptions.
...
ircd::ctx: Rename tool.
2019-07-13 23:20:03 -07:00
Jason Volk
8474b891eb
ircd::ctx: Rename function; add overload for total value.
2019-05-26 02:49:24 -07:00
Jason Volk
4db52804cb
ircd::ctx: Use iteration closure rather than exposing ctx::list.
2019-04-19 20:50:22 -07:00
Jason Volk
d8bf5b9fff
ircd::ctx: Add a syscall_usage_warning to suite.
2019-04-10 20:18:50 -07:00
Jason Volk
403bf52867
ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils.
2019-03-31 18:16:18 -07:00
Jason Volk
55241c5309
ircd::ctx: Expand the reference cycle counting interface.
2019-03-27 13:04:12 -07:00
Jason Volk
07b746d633
ircd::ctx: Add scope_notify device.
2019-03-21 16:46:04 -07:00
Jason Volk
b687d63169
ircd::ctx: Create and use log facility.
2019-02-07 00:17:26 -08:00
Jason Volk
3d79c94bb2
ircd::ctx: Add ctx::parallel device.
2018-12-24 18:36:56 -08:00
Jason Volk
a7b2f76c11
ircd::ctx: Add slice_usage_warning device.
2018-12-17 16:20:53 -08:00
Jason Volk
3af70e75c3
ircd::ctx: Minor cleanup / struct packing / type.
2018-12-07 10:13:29 -08:00
Jason Volk
4e01d2c0a4
ircd::ctx: Remove local typedef to use outer ircd:: typedef.
2018-12-07 10:13:14 -08:00
Jason Volk
ce237e0b10
ircd::ctx: Export this_ctx:: to ircd.
2018-12-06 19:16:47 -08:00
Jason Volk
9222de0b34
ircd::ctx: Add access to rdtsc through ctx::prof; minor comments.
2018-11-14 16:55:46 -08:00
Jason Volk
bbe676a392
ircd::ctx: Split this_ctx devices into files; minor interface tweaks.
2018-11-11 14:13:37 -08:00
Jason Volk
f369af944b
ircd::ctx: Remove unused peek.
2018-10-06 22:16:37 -07:00
Jason Volk
600a73d566
ircd::ctx: Add an upgrade_lock<> template.
2018-08-26 20:46:59 -07:00
Jason Volk
32c0d08928
ircd::ctx: Minor cleanup.
2018-08-19 15:53:10 -07:00
Jason Volk
0a822212e1
ircd::ctx: Add latch (concurrency TS).
2018-08-18 19:29:00 -07:00
Jason Volk
f61d0a30ec
ircd::ctx: Add condition_variable for interface compat.
2018-06-01 12:36:46 -07:00
Jason Volk
7e8ec1ca63
ircd::ctx: Support interrupt suppression; suite.
2018-05-22 00:22:56 -07:00
Jason Volk
e205755d5e
ircd::ctx: Add ctx::critical_indicator.
2018-05-07 12:38:24 -07:00
Jason Volk
e15ac0d1d3
ircd::ctx: Add state for counting context switches.
2018-05-07 12:36:33 -07:00
Jason Volk
48055cb276
ircd::ctx: Add special termination interruption to yanagiba the stack.
2018-05-06 02:06:08 -07:00
Jason Volk
1059688d02
ircd::ctx: Add state for stack usage profiling; clarify some interfaces.
2018-05-05 23:14:11 -07:00
Jason Volk
ea42490b4e
ircd::ctx: Consolidate slice timing to tsc; add public interfacing.
2018-05-05 22:24:25 -07:00
Jason Volk
1dcfff91a5
ircd::ctx: Expose stack_max() to public interface.
2018-04-19 21:42:54 -07:00
Jason Volk
35a1c62b1f
ircd::ctx: Add ctx::running()/waiting() for interface completeness.
2018-04-19 21:42:54 -07:00
Jason Volk
3b32d2170e
ircd::ctx: Give ctx::ctx the instance_list.
2018-04-19 21:42:54 -07:00
Jason Volk
4760d36847
ircd::ctx: Move unlock_guard from util:: to ctx::.
2018-03-28 22:17:09 -07:00
Jason Volk
a2eb756548
ircd::ctx: Split this_ctx:: from ctx.h; minor reorg.
2018-03-25 02:04:42 -07:00
Jason Volk
441a692dfc
ircd::ctx: Device to allow context switching in exception handler.
2018-03-24 18:00:04 -07:00
Jason Volk
465e0f526c
ircd::ctx: Move when_any()/when_all() into file.
2018-03-14 11:25:53 -07:00