0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-02 16:58:19 +02:00
Commit graph

122 commits

Author SHA1 Message Date
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
Jason Volk 7c815116a6 ircd::ctx: Fix comment typo. 2018-11-06 19:48:06 -08:00
Jason Volk a91cdeec0c ircd::ctx: Reorg / abstract / deinline promise related. 2018-10-30 12:18:16 -07:00
Jason Volk e6dd4beaaa ircd::ctx: Harder default interruption on context dtor. 2018-10-23 10:16:15 -07:00
Jason Volk 3ffb91d0fd ircd::ctx: Deinline to_asio continuation ctor. 2018-10-21 01:09:07 -07:00
Jason Volk 02f64c7f34 ircd: Add ios unit to provide a more central control point for asio. 2018-10-17 05:12:10 -07:00
Jason Volk 0e7a55d3b3 ircd::ctx::pool: Use queue push() instead of emplace(). 2018-09-18 21:56:36 -07:00
Jason Volk 5698637dd6 ircd::ctx::pool: Use ctx::queue for pool's queue. 2018-09-18 16:45:04 -07:00
Jason Volk 7d94b1c17b ircd: Relax noexcept in std::function template declarations. 2018-09-13 05:12:25 -07:00
Jason Volk 76e48b3ef3 ircd::ctx: Test for valid then() before calling from here. 2018-08-28 18:58:09 -07:00
Jason Volk a4e4424ede ircd: Improve main control flow for termination condition during init. 2018-08-28 15:04:23 -07:00
Jason Volk 2a11c33c9f ircd::ctx: More list assertions. 2018-08-27 01:45:31 -07:00
Jason Volk edbc0984c5 ircd::ctx: Linkage for default and move semantics of ctx::context. 2018-08-26 20:46:59 -07:00
Jason Volk 6cdb1bba63 ircd::ctx: Add pool::set convenience. 2018-08-22 14:37:40 -07:00
Jason Volk 7fb2a825a1 ircd::ctx: Minor cleanup. 2018-08-21 08:10:37 -07:00
Jason Volk 57ea362daa ircd::ctx: Fix stale comment. 2018-08-21 04:57:36 -07:00
Jason Volk 85d4a4f5ed ircd::ctx: Further tweak interruption masking semantics. 2018-08-19 20:11:41 -07:00
Jason Volk ff66bc441c ircd::ctx: Stack uninterruptible's gracefully; assume context. 2018-08-19 20:11:41 -07:00
Jason Volk 10434c96c5 ircd::ctx: Consistent use of interruption. 2018-08-19 18:29:46 -07:00
Jason Volk 38c5679b5a ircd::ctx: Use terminate() rather than interrupt() during ~context(). 2018-08-19 18:18:15 -07:00
Jason Volk 1492770f6b ircd::ctx: Various minor fixes. 2018-08-19 18:09:04 -07:00
Jason Volk ccf5b79e6a ircd::ctx: Allow this_ctx::interruption toggle to no-op if no ctx. 2018-08-19 17:43:25 -07:00
Jason Volk b796668a77 ircd::ctx: Minor movement/cleanup. 2018-08-19 16:21:33 -07:00
Jason Volk f4a4674daa ircd::ctx::pool: Add a terminate(); cleanup del(). 2018-08-19 15:55:35 -07:00
Jason Volk 141f4e1c0a ircd::ctx: Move this branch condition. 2018-08-17 21:31:54 -07:00
Jason Volk fe69a41255 ircd::ctx::pool: Fix dtor; use terminate() rather than interrupt(). 2018-08-17 12:51:49 -07:00
Jason Volk c8902654a0 ircd::ctx: Detach context in dtor on main/async stacks. 2018-05-28 07:04:06 -07:00
Jason Volk 5b52ac3103 ircd::ctx: Remove argument from continuation ctor. 2018-05-25 23:50:20 -07:00
Jason Volk 3746c25f20 ircd::ctx::ole: Add crude pooling. 2018-05-25 20:21:36 -07:00
Jason Volk 956c67beca ircd::ctx: Use dock for better adjoindre semantics. 2018-05-22 18:06:18 -07:00
Jason Volk f68f3bbb9c ircd::ctx: Organize stack and profile related into specific structures. 2018-05-22 18:03:18 -07:00
Jason Volk 0e169fe4a4 ircd::ctx: Stop interrupt propagation at pool function base. 2018-05-22 05:49:38 -07:00
Jason Volk d901257745 ircd::ctx: Use NOINTERRUPT flag for termination suppression as well. 2018-05-22 00:24:48 -07:00
Jason Volk f17f9685ec ircd::ctx::ole: Use interrupt suppression scope while offloaded. 2018-05-22 00:22:57 -07:00
Jason Volk 7e8ec1ca63 ircd::ctx: Support interrupt suppression; suite. 2018-05-22 00:22:56 -07:00
Jason Volk 5000397f12 ircd::ctx: Fix erroneous comment. 2018-05-07 12:37:44 -07:00
Jason Volk e15ac0d1d3 ircd::ctx: Add state for counting context switches. 2018-05-07 12:36:33 -07:00
Jason Volk 003ecf6357 ircd: Remove / update various ctx::interrupted catch blocks for ctx::terminated. 2018-05-06 02:06:08 -07:00
Jason Volk 48055cb276 ircd::ctx: Add special termination interruption to yanagiba the stack. 2018-05-06 02:06:08 -07:00