0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-01 08:18:20 +02:00
Commit graph

256 commits

Author SHA1 Message Date
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
Jason Volk e2ed860c04 ircd::ctx::pool: Add wouldblock() convenience to interface. 2019-09-18 20:05:51 -07:00
Jason Volk 87fd0f04ea ircd::ctx::mutex: Add deadlock assertion on lock. 2019-09-10 12:12:10 -07:00
Jason Volk fcb4f6c5f4 ircd::ctx::mutex: Add waiting(ctx) to interface. 2019-09-10 11:06:16 -07:00
Jason Volk ba11205f2c ircd::ctx::dock: Add query to find if ctx is waiting on dock. 2019-09-10 11:06:16 -07:00
Jason Volk efdc626495 ircd::ctx::list: Add typedefs for iteration suite closures. 2019-09-10 11:06:16 -07:00
Jason Volk b6149b429e ircd::ctx::dock: Add noexcept to interface observers.
ircd::ctx: Propagate noexcept on hot leafs;

ircd::ctx::list: Deinline size().
2019-09-10 11:06:11 -07:00
Jason Volk 42d56a7bac ircd::ctx: Fix inconsistent refcount() behavior. 2019-09-08 18:22:05 -07:00
Jason Volk a6747ad3a0 ircd::ctx::promise_base: Add refcount(promise_base&) to suite. 2019-09-08 16:33:38 -07:00
Jason Volk 5b2216fb63 ircd::ctx::shared_state_base: Add assertions; comments; minor cleanup. 2019-09-08 16:31:21 -07:00
Jason Volk 0a4cfc59be ircd::ctx: Minor cleanup; tweak promise union; noexcept and linkage for ctors. 2019-09-07 13:45:43 -07:00
Jason Volk 9adba1b9dc ircd::ctx: No need for mutable here. 2019-09-03 22:07:50 -07:00
Jason Volk 1210523757 ircd::ctx: Support shared futures. 2019-09-03 15:56:14 -07:00
Jason Volk ebfaa508fd ircd::ctx::ole: Move opts outside offload; reorg; minor cleanup. 2019-09-03 11:10:30 -07:00
Jason Volk 3c45487611 ircd::ctx: Improve readme paragraph. 2019-09-01 21:06:30 -07:00
Jason Volk f211cc7429 Revert "ircd::ctx: Create vtables for promise and future."
This reverts commit d119d9a8c6.
2019-09-01 21:06:30 -07:00
Jason Volk d119d9a8c6 ircd::ctx: Create vtables for promise and future. 2019-08-29 14:17:46 -07:00
Jason Volk 13e2d56850 ircd::ctx::future: Ensure value is moved out. 2019-08-26 13:10:12 -07:00
Jason Volk 765ec46b91 ircd::ctx::promise: Inline trivial accessors; explicit bool operator. 2019-08-13 20:53:02 -07:00
Jason Volk 42b65fa271 ircd::ctx: Add noexcept specifications; tweak inlines. 2019-08-13 20:26:08 -07:00
Jason Volk 0efc56c9c7 ircd::ctx::future: Add non-std get() w/ durations to avoid separate wait(). 2019-08-12 20:43:39 -07:00
Jason Volk b4842da414 ircd::ctx::future: Restrict the future type cast operator; fix conflict. 2019-08-12 20:43:04 -07:00
Jason Volk a2c05437d2 ircd::ctx: Export this_ctx down to ircd::. 2019-08-11 08:00:17 -07:00
Jason Volk 009d417273 ircd: Indicate noexcept on advised interfaces. 2019-08-05 16:19:20 -07:00
Jason Volk f450028c77 ircd::ctx::future: Use our steady_clock now() here. 2019-07-24 17:07:16 -07:00
Jason Volk bde9e16e5c ircd::ctx: Inline cur_slice_cycles().
modules/media/magick: Use this_ctx::cycles_here().

ircd::ctx: Improve prof::cycles API related.
2019-07-23 16:40:29 -07:00
Jason Volk 6c9dbdbef5 ircd::ctx: Add queued(ctx) state to interface. 2019-07-21 18:07:26 -07:00
Jason Volk 471c08a41e ircd::ctx: Split exception_handler w/ cxxabi header requirement. 2019-07-21 15:29:16 -07:00
Jason Volk f64f41775d ircd::ctx::future: Fix action. 2019-07-19 18:17:53 -07:00
Jason Volk 064f0b712c ircd::log: Fixes for clang DCE. 2019-07-19 17:10:35 -07:00
Jason Volk 166236dfe8 ircd::ctx: Update README [skip ci] 2019-07-19 15:15:21 -07:00
Jason Volk 3301ed62f7 ircd::ctx: Fix future wait condition closing. 2019-07-19 14:46:57 -07:00
Jason Volk 51e3d7f081 ircd::ctx: Minor code-clarify/cleanup. 2019-07-19 14:42:46 -07:00
Jason Volk 48468a32f0 ircd::ctx: Add critical_assertion for when_() templates. 2019-07-17 18:10:34 -07:00
Jason Volk 598585a431 ircd::ctx: Simplify concurrent template.
modules/client/sync: Improve concurrent instantiation sites.
2019-07-15 13:09:33 -07:00
Jason Volk 5242432e0c ircd::ctx: Add concurrent_for_each. 2019-07-14 13:40:04 -07:00
Jason Volk c7a68a8cb3 ircd::ctx: Fix ctx::parallel argument allocation assumptions.
ircd::ctx: Rename tool.
2019-07-13 23:20:03 -07:00
Jason Volk 6e97a72c50 ircd::ctx::ole: Minor interface reorg. 2019-07-13 18:15:27 -07:00
Jason Volk ae071552fb ircd::ctx::ole: Add options structure; minor cleanup. 2019-07-11 15:51:09 -07:00
Jason Volk cbd2f6f4c7 ircd::prof: Add extern keyword for c89 semantics via gnu_inline in clang for odr. 2019-06-24 01:33:41 -07:00
Jason Volk ab32ef76d7 ircd::ctx::this_ctx: Fix inline namespace reopening for clang. 2019-06-23 07:37:23 -06:00
Jason Volk f6067edcdf ircd::ctx::async: Fix template default param using runtime extern. 2019-06-21 03:41:13 -07:00
Jason Volk 8474b891eb ircd::ctx: Rename function; add overload for total value. 2019-05-26 02:49:24 -07:00
Jason Volk e88f18d65c ircd::ctx: Internalize prof::mark() for unconditional event counting. 2019-05-26 02:49:24 -07:00
Jason Volk 693cd317ff ircd::ctx: Fix the sentinel iterator value for when_any() to last (end) not first. 2019-04-23 18:40:08 -07:00
Jason Volk 4db52804cb ircd::ctx: Use iteration closure rather than exposing ctx::list. 2019-04-19 20:50:22 -07:00
Jason Volk 12df824cf4 ircd::ctx: Allow lambda transformation of the iterable for when_any()/when_all(). 2019-04-18 16:07:24 -07:00
Jason Volk 8c68a24e1f ircd::ctx::prof: Add cycle counter to ticker array. 2019-04-12 15:58:06 -07:00
Jason Volk d8bf5b9fff ircd::ctx: Add a syscall_usage_warning to suite. 2019-04-10 20:18:50 -07:00