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

291 commits

Author SHA1 Message Date
Jason Volk
07ec766ff9 ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes. 2020-12-20 06:02:50 -08:00
Jason Volk
1f2abfb64a ircd::ios: Integrate descriptor::stats into ircd::stats system. 2020-12-18 02:42:07 -08:00
Jason Volk
e80629c914 ircd: Rename all ios::descriptors w/ consistent dot namespacing.
ircd: Hoist various ios::descriptors out of function-static duration.
2020-12-18 02:42:07 -08:00
Jason Volk
956ea6edb6 ircd::ctx: Add constexpr toggles covering all possible branches. 2020-12-13 08:29:33 -08:00
Jason Volk
799c4e1691 ircd::ctx: Add ios profile debuglog indicating ctx::wake(). 2020-12-13 08:29:33 -08:00
Jason Volk
d947b5e724 ircd::ios: Add missing context switch for dispatch; assertions. 2020-12-13 08:29:33 -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
f3886d60d8 ircd: Replace callsites w/ template deduced mutable_cast. 2020-11-05 22:10:53 -08:00
Jason Volk
bbefffe2ac ircd::ctx: Hoist adjoindre class member to static. 2020-10-28 03:31:55 -07:00
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
8d174ea80d ircd::ctx: Workaround ircd::size() assertion due to begin(buf)=nullptr.
ircd::ctx: Fix error.
2020-10-15 06:09:31 -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
5d23b8657e ircd::ctx: Hook the asio spawn helper. 2020-10-14 02:22:45 -07:00
Jason Volk
dba80e17b1 ircd::ctx: Hook the stack allocator. 2020-10-14 02:22:45 -07:00
Jason Volk
d1c2e0baeb ircd::ctx: Belay marking entry point until after initial interrupt check. 2020-10-08 20:49:49 -07:00
Jason Volk
bfe864663c ircd::ctx: Use proper source for epoch counter. 2020-10-08 20:49:49 -07:00
Jason Volk
98dd705de9 ircd::ctx: Default to DISPATCH method to wrap context switch spawn; simplify stack. 2020-09-08 22:43:30 -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
1a433f7274 ircd::ctx: Eliminate branch in prof::mark() stack. 2020-08-02 06:42:04 -07:00
Jason Volk
ea039f29b5 ircd::ctx: Inline prof::mark() into callsites; remove static w/ indirect jump. 2020-08-02 06:22:33 -07:00
Jason Volk
52013c1ee0 ircd::ctx::list: Reduce out-of-line accessor surface. 2020-07-11 18:51:19 -07:00
Jason Volk
a3dc7331cc ircd::ctx::list: Remove from hot section. 2020-07-11 18:13:13 -07:00
Jason Volk
6ec9b2a783 ircd: Specify explicit noexcept for gcc-10 issue. 2020-07-11 17:57:33 -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
d00392b90c ircd::ctx: Call any interruption handler even if interrupts disabled. 2020-05-24 20:34:44 -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
d72124f7c6 ircd::ctx: Bring condition_variable up to parity with ctx::dock. 2020-05-04 13:15:45 -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
dd1e016ec5 ircd::ctx: Don't zero stack.max at completion. 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
2fbb7d1521 ircd::ctx: Eliminate strand from ctx. 2020-02-27 12:44:57 -08:00
Jason Volk
c1737e167c ircd::ios: Employ the asio::executor abstraction w/ backward-compat. 2020-02-27 12:44:57 -08:00
Jason Volk
d0b0c4e23c ircd::ctx: Use better namespace identifier on call. 2020-02-25 11:20:16 -08:00
Jason Volk
d6d83f6498 ircd::ctx: Move the asio override definition to section; optimize linkage. 2020-02-25 10:35:16 -08:00
Jason Volk
ea30ee38f9 ircd::ctx: Optimize asio timer cancel action for ctx::wake(). 2020-02-23 16:23:25 -08:00
Jason Volk
43cf0050ee ircd::ctx: Use post rather than defer for self yield. 2020-02-23 12:15:55 -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
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