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

309 commits

Author SHA1 Message Date
Jason Volk
34bd1e0709 ircd::ctx::pool: Add option for dispatch strategy; behavior changed by default. 2023-02-20 20:15:44 -08:00
Jason Volk
e961b23d1e ircd::ctx::dock: Add options for waiters; support queuing strategies. 2023-02-20 20:15:44 -08:00
Jason Volk
96d5b6fe57 ircd::ctx::list: Add mid-list insertion suite to interface. 2023-02-20 20:15:44 -08:00
Jason Volk
1627986fed ircd::ctx: Simplify ctx::list abi; tweak hot section. 2023-02-20 18:08:52 -08:00
Jason Volk
c30776fc59 ircd::ctx::pool: Upgrade various opts sites to designated inits; minor inline. 2023-02-19 19:57:14 -08:00
Jason Volk
5a35d63b64 ircd::ctx::dock: Deduplicate prologue/epilogue in wait() suite. 2023-02-19 17:39:32 -08:00
Jason Volk
c78a7e96b9 ircd::ctx: Strict uncaught exception assertion on context switch. 2023-02-18 16:41:33 -08:00
Jason Volk
cd53f1b5a4 ircd::ios: Increase width for latency in profile::logging debug fmt. 2023-01-28 17:11:14 -08:00
Jason Volk
bb3576eaaa ircd::ctx: Update stack allocator for official support. (boost-1.80) 2023-01-19 19:58:22 -08:00
Jason Volk
30701b24cc ircd::ctx: Fixes for boost 1.80. 2022-09-10 11:29:29 -07:00
Jason Volk
85f5dda7e1 ircd::ctx: Fixes for boost 1.76 asio API changes. 2022-07-25 12:31:18 -07:00
Jason Volk
3451a989ac Add noexcept to various lambdas (gcc-12). 2022-07-07 16:47:55 -07:00
Jason Volk
8b6679c5e9 ircd::ctx::dock: Eliminate inlined template complex; optimize linkages. 2022-06-29 18:20:46 -07:00
Jason Volk
9d0d45294c ircd: Attribute static dtors worthy of running to cleanup memcheck reports. 2022-06-17 21:11:54 -07:00
Jason Volk
df3304005a ircd: Properly scope various visibility/linkages. 2022-06-17 21:11:54 -07:00
Jason Volk
e51b855f2b ircd: Various symbol surface reductions and sorting. 2022-06-17 21:11:53 -07:00
Jason Volk
04558290c0 ircd: Toward improving cold/unlikely section population. 2022-06-17 21:11:53 -07:00
Jason Volk
d4e41218b0 ircd::ctx::pool: Simplify notify on work completion. 2021-05-11 20:56:09 -07:00
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