0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-27 01:02:46 +01:00
Commit graph

304 commits

Author SHA1 Message Date
Jason Volk
dc388a0f09 ircd::ctx: Use vg::stack registration in stack allocator. 2020-10-16 14:32:06 -07:00
Jason Volk
339e86d2b8 ircd::ctx: Hoist various function static descriptor objects; inline courtesy yield(). 2020-10-16 05:19:14 -07:00
Jason Volk
2eb4b84019 ircd::ctx: Add missing shared_state already_t w/ value ctor. 2020-10-15 04:55:38 -07:00
Jason Volk
ad41fb69a9 ircd::ctx: Support user-supplied stacks. 2020-10-14 02:22:45 -07:00
Jason Volk
28eaf63543 ircd::ctx: Convey allocated stack for context to context at entry. 2020-10-14 02:22:45 -07:00
Jason Volk
6c89faee13 ircd::ctx::posix: Enforce noexcept on the full surface. 2020-09-29 16:09:10 -07:00
Jason Volk
669c8d0d0f ircd::ctx: Remove leaf attribute; use hot section attribute in unit. 2020-08-23 02:32:54 -07:00
Jason Volk
07830f1413 ircd::ctx: Integrate slice cycle counters with ios. 2020-08-21 10:43:04 -07:00
Jason Volk
52013c1ee0 ircd::ctx::list: Reduce out-of-line accessor surface. 2020-07-11 18:51:19 -07:00
Jason Volk
6ec9b2a783 ircd: Specify explicit noexcept for gcc-10 issue. 2020-07-11 17:57:33 -07:00
Jason Volk
cd95b7cd8d ircd::ctx: Specify inline linkage for various templates to prevent any dynsyms. 2020-07-11 15:41:57 -07:00
Jason Volk
8ffa5c55a5 ircd::ctx::latch: Replace closure w/ simple bind statement. 2020-07-11 14:07:08 -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
e938081404 ircd::ctx: Add watchdog log facility. 2020-05-24 17:42:32 -07:00
Jason Volk
ac42d4df13 ircd::ctx: Measure and report epoch span for slice_usage_warning. 2020-05-24 17:14:02 -07:00
Jason Volk
f070e3b706 ircd::ctx: Condition on RB_DEBUG rather than NDEBUG for slice_usage_warning tool. 2020-05-24 17:14:02 -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
ce3a57bfce ircd::ctx::uninterruptible: Add defaulted runtime bool construction. 2020-05-18 18:43:17 -07:00
Jason Volk
b3dbf0cd01 ircd::ctx: Start an interpositionable posix thread interface. 2020-05-04 16:09:39 -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
77dc612735 ircd::ctx: Various assertions for current context. 2020-05-04 13:15:45 -07:00
Jason Volk
a776565ce0 ircd::ctx: Fixes and assertions for shared_mutex upgrade lockable semantics. 2020-05-04 13:15:45 -07:00
Jason Volk
926795f01a ircd::ctx: Use context pointer for mutex/shared_mutex acquisition state. 2020-05-04 13:15:45 -07:00
Jason Volk
d72124f7c6 ircd::ctx: Bring condition_variable up to parity with ctx::dock. 2020-05-04 13:15:45 -07:00
Jason Volk
f9015b8336 ircd::ctx::dock: Minor reorg. 2020-05-02 23:57:53 -07:00
Jason Volk
32230ed2d4 ircd::ctx: Profile peak stack usage at slice leave event. 2020-04-23 12:41: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
628b194151 ircd::ctx: Relax member access. 2020-02-24 16:44:15 -08:00
Jason Volk
c3349b9d40 ircd::ctx::dock: Add convenience interface for interrupt/terminate/notify. 2020-02-19 16:16:53 -08:00
Jason Volk
43f5ebe8e3 ircd::ctx: Inline the interruptible/uninterruptible instanced interface. 2020-02-19 08:40:15 -08:00
Jason Volk
0fd8019149 ircd::ctx: Use thread_local keyword for current. 2020-02-11 12:18:25 -08:00
Jason Volk
0c43394446 ircd::ctx::ole: Fix struct namespace error. 2020-02-01 12:31:37 -08:00
Jason Volk
e2e4ea544b ircd::ctx: Move paragraph in README. 2020-01-11 23:31:53 -08:00
Jason Volk
4ef3f6eab7 ircd::ctx: Add nice/ionice values to pool opts; propagate on spawn. 2020-01-06 12:19:38 -08:00
Jason Volk
78d300b3b7 ircd::ctx: Add nice/ionice values to context. 2020-01-06 12:19:38 -08:00
Jason Volk
df79d61395 ircd::util: Elide std::function overhead for util::unwind suite. 2019-12-03 13:39:49 -08:00
Jason Volk
d44da6c8fd ircd::ctx: Add inline redefinition of coroutine_context::jump(). 2019-10-10 19:34:01 -07:00
Jason Volk
7afb295c09 ircd::ctx: Partial inline continuation. 2019-10-10 19:33:49 -07:00
Jason Volk
864afd78e4 ircd::ctx: Fix trivial branch sequence causing L2 => I1 miss; hot section. 2019-10-09 22:07:17 -07:00
Jason Volk
7e21c1c8db ircd::ctx: Ensure assert_critical() callsite DCE in non-debugmode. 2019-10-09 16:30:08 -07:00
Jason Volk
01af00bae0 ircd::ctx: Preliminary trilean logic concept (WIP). 2019-09-30 14:23:28 -07:00
Jason Volk
36b621e72b ircd::ctx: Minor fix inconsistent header HAVE_ defines. 2019-09-30 14:23:28 -07:00
Jason Volk
39ade19ae3 ircd::ctx: Switch from steady_timer to deadline_timer. 2019-09-22 20:59:54 -07:00
Jason Volk
320af9e9b8 ircd::ctx: Add context::DEFER flag; cleanup ios::descriptor set. 2019-09-22 18:28:07 -07:00
Jason Volk
2f88540f3c ircd::ctx: Expose critical_assertion related details. 2019-09-22 17:35:20 -07:00
Jason Volk
41646091f8 ircd::ctx: Experimental mitigations for return address misprediction on context switch. 2019-09-22 16:09:15 -07:00