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

160 commits

Author SHA1 Message Date
Jason Volk
1a53b0e6e4 ircd::ctx: Improve exception handling at base frame. 2019-01-13 16:37:31 -08:00
Jason Volk
cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk
4871928bfa ircd::ctx: Partial de-inline of dock methods. 2019-01-13 13:57:34 -08:00
Jason Volk
16ebbbfa8a ircd::ctx: Move and adjust default stack size. 2018-12-28 14:07:40 -08:00
Jason Volk
a66d5082d7 ircd::ctx: Prevent spawning initial pool contexts when no ios available. 2018-12-28 13:24:33 -08:00
Jason Volk
4a47b39298 ircd::ctx: Create and use an options structure for ctx::pool. 2018-12-28 12:57:32 -08:00
Jason Volk
5ae69dde95 ircd::ctx: Check for termination to condition pool work loop. 2018-12-27 17:20:43 -08:00
Jason Volk
364302c212 ircd::ctx: Add soft and hard limit logic for submitting to pool. 2018-12-27 17:20:42 -08:00
Jason Volk
9f70ce1b28 ircd::ctx: Add pool::min() convenience. 2018-12-24 16:20:03 -08:00
Jason Volk
387e8b8eed ircd::ctx: Improve pool loop; improve log msg; add interruption point. 2018-12-24 12:06:05 -08:00
Jason Volk
70ebf4b066 ircd::ctx: Use thread_local for these. 2018-12-23 17:26:41 -08:00
Jason Volk
599831f680 ircd::ctx: Condition the prof checks on NDEBUG. 2018-12-22 21:27:19 -08:00
Jason Volk
894a947e24 ircd::ctx: Add specific define to activate prof::mark() for build. 2018-12-22 21:17:12 -08:00
Jason Volk
29e7fa3515 ircd::ctx: Use closure for continuation. 2018-12-22 21:03:14 -08:00
Jason Volk
37ba013413 ircd::ctx: Simplify continuation; eliminate to_asio derived type. 2018-12-22 20:11:00 -08:00
Jason Volk
365cf865d0 ircd::ctx: Various improvements/reorg of continuation/to_asio. 2018-12-22 17:24:48 -08:00
Jason Volk
d5ffc6b0de ircd::ctx: Improve prof related; add full ticker of counters. 2018-12-22 15:17:18 -08:00
Jason Volk
a590ad1a03 ircd::ctx: Another attempt at using continuation dtor as an interruption point. 2018-12-22 13:36:48 -08:00
Jason Volk
0ed9382db0 ircd::ctx: Reorder the interruption point conditional branches. 2018-12-22 13:19:02 -08:00
Jason Volk
b5f4aeb67d ircd::ctx: Assert ctx dtor isn't called while running. 2018-12-22 13:04:02 -08:00
Jason Volk
48b50acab2 ircd::ctx: Cleanup and recondition stack-protect related. 2018-12-22 13:04:02 -08:00
Jason Volk
08c940d0df ircd::ctx: Use better interruption check; remove func condition. 2018-12-21 18:22:44 -08:00
Jason Volk
5e196ce0ac ircd::ctx: Emit stack_protect in some places. 2018-12-21 17:18:41 -08:00
Jason Volk
f9ee616a9a ircd::ctx::prof: Use a profile instance as a totals counter. 2018-12-21 11:55:43 -08:00
Jason Volk
67e6d363db ircd::ctx: Add interruption point before yield to asio. 2018-12-20 14:21:48 -08:00
Jason Volk
9d7a53ae49 ircd::ctx: Move resume-interruption point to this_ctx::wait() suite. 2018-12-20 13:27:21 -08:00
Jason Volk
ddfafd45e2 ircd::ctx: Exempt SLICE_EXEMPT contexts from slice_usage_warning. 2018-12-18 18:10:06 -08:00
Jason Volk
a7b2f76c11 ircd::ctx: Add slice_usage_warning device. 2018-12-17 16:20:53 -08:00
Jason Volk
4686139f8e ircd::ctx: Rework the prof stack to make a public test interface. 2018-12-17 15:24:41 -08:00
Jason Volk
2c713cc9a5 ircd::ctx: Tweak interruption point to asio; add comments. 2018-12-17 12:16:04 -08:00
Jason Volk
ba10948e9d ircd::ctx: Move principal interruption point into continuation. 2018-12-16 18:37:51 -08:00
Jason Volk
2a23d9e6dd ircd::ctx: Add more interface access to pool/queue; various cleanup. 2018-12-16 16:27:11 -08:00
Jason Volk
72859c650b ircd::ctx: Convert various name character strings to string_view. 2018-12-16 16:27:11 -08:00
Jason Volk
98cb7693f3 ircd::ctx: Set context to NOINTERRUPT rather than clearing TERMINATED like an INTERRUPTED. 2018-12-15 18:18:00 -08:00
Jason Volk
7471bf54f4 ircd::ctx: Improve/conform some watchdog log messages. 2018-12-15 18:18:00 -08:00
Jason Volk
a3613b1f4c ircd::ctx: Don't persist conf items for slice/stack assertions. 2018-12-13 16:25:42 -08:00
Jason Volk
399198deac ircd::ctx: Add flags for slice and stack usage watchdog exemption. 2018-12-13 16:21:54 -08:00
Jason Volk
3df645fcfb ircd::ctx: Improve some prof log messages. 2018-12-13 15:19:26 -08:00
Jason Volk
41602087f4 ircd::ctx: Simplify flags type; fix flags test. 2018-12-07 12:45:05 -08:00
Jason Volk
4a2ad1c186 ircd::ctx: Reorg continuation for core wakeup conditions. 2018-12-07 12:31:30 -08:00
Jason Volk
9eabd745f5 ircd::ctx: Minor cleanup. 2018-12-07 12:03:25 -08:00
Jason Volk
418bbc0441 ircd::ctx: Minor simplify type elaborations. 2018-12-07 11:01:16 -08:00
Jason Volk
3af70e75c3 ircd::ctx: Minor cleanup / struct packing / type. 2018-12-07 10:13:29 -08:00
Jason Volk
caa92a98c3 ircd::ctx: Don't execute an interrupt handler for uninterruptible ctx. 2018-12-06 19:07:36 -08:00
Jason Volk
bacfa6de95 ircd::ctx: Assert interruption points aren't useless calls. 2018-12-06 19:04:31 -08:00
Jason Volk
c74debac01 ircd::ctx: Cleanup / fixes for critical assertion related. 2018-11-29 16:12:33 -08:00
Jason Volk
46690f433c ircd::ctx: Condition rdtsc linkage based on x86intrin availability. 2018-11-14 18:45:10 -08:00
Jason Volk
48a15e026b ircd::ctx::prof: Convert the settings into conf items. 2018-11-14 18:45:10 -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