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 |
|
Jason Volk
|
df79d61395
|
ircd::util: Elide std::function overhead for util::unwind suite.
|
2019-12-03 13:39:49 -08:00 |
|
Jason Volk
|
b415ec3125
|
ircd::ctx: Remove branch never taken.
|
2019-10-10 19:57:46 -07:00 |
|
Jason Volk
|
7afb295c09
|
ircd::ctx: Partial inline continuation.
|
2019-10-10 19:33:49 -07:00 |
|
Jason Volk
|
5ac73dc7f9
|
ircd::ctx: Remove return prefetches here.
|
2019-10-09 23:55:49 -07:00 |
|
Jason Volk
|
864afd78e4
|
ircd::ctx: Fix trivial branch sequence causing L2 => I1 miss; hot section.
|
2019-10-09 22:07:17 -07:00 |
|
Jason Volk
|
7e21c1c8db
|
ircd::ctx: Ensure assert_critical() callsite DCE in non-debugmode.
|
2019-10-09 16:30:08 -07:00 |
|
Jason Volk
|
8981439867
|
ircd::ctx::context: Add POST flag for bare-metal constructions; minor cleanup.
|
2019-10-03 13:46:12 -07:00 |
|
Jason Volk
|
d3809d43e5
|
Reorganize Makefiles.
|
2019-09-27 19:35:26 -07:00 |
|
Jason Volk
|
39ade19ae3
|
ircd::ctx: Switch from steady_timer to deadline_timer.
|
2019-09-22 20:59:54 -07:00 |
|
Jason Volk
|
320af9e9b8
|
ircd::ctx: Add context::DEFER flag; cleanup ios::descriptor set.
|
2019-09-22 18:28:07 -07:00 |
|
Jason Volk
|
3e648fff19
|
ircd::ctx: Use a continuation in spawn to straddle any direct context switch.
|
2019-09-22 18:02:46 -07:00 |
|
Jason Volk
|
2f88540f3c
|
ircd::ctx: Expose critical_assertion related details.
|
2019-09-22 17:35:20 -07:00 |
|
Jason Volk
|
4a51b3382c
|
ircd::ctx: Move the internal ctx struct ctor out of class.
|
2019-09-22 16:44:34 -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
|
0fff520a72
|
ircd::ctx::ctx: Split the interruption condition check from the throwing code.
|
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
|
4ed000e6ab
|
ircd::ios: Comment on constant_tsc issues with operating system suspend/hibernate.
|
2019-09-14 18:15:09 -07:00 |
|
Jason Volk
|
b980461a62
|
ircd::ctx: Relax assertion for nested interruption masks.
|
2019-09-12 18:37:33 -07:00 |
|
Jason Volk
|
949c765cd9
|
ircd::ctx: Additional internal wrappers in hot section.
|
2019-09-10 15:23:44 -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
|
01c364cc24
|
ircd::ctx: Minor cleanup for promise/future list traversal; remove mutable_cast.
|
2019-09-04 15:40:30 -07:00 |
|
Jason Volk
|
a205e722f3
|
ircd::ctx: Fix valid pointer range condition.
|
2019-09-03 22:09:43 -07:00 |
|
Jason Volk
|
2c20f0a659
|
ircd::ctx: Fix invalidation of the promise list head after ready.
ircd::ctx: Fix check for pending on invalidate_futures().
|
2019-09-03 17:55:05 -07:00 |
|
Jason Volk
|
1210523757
|
ircd::ctx: Support shared futures.
|
2019-09-03 15:56:14 -07:00 |
|
Jason Volk
|
84c1aef0d6
|
ircd::ctx: Ensure a full-width zero'ing.
|
2019-09-03 13:52:28 -07:00 |
|
Jason Volk
|
c53a1fa12b
|
ircd::ctx: Set zero values after base frame unwind.
|
2019-08-27 20:58:52 -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
|
009d417273
|
ircd: Indicate noexcept on advised interfaces.
|
2019-08-05 16:19:20 -07:00 |
|
Jason Volk
|
ea1cd3f73d
|
ircd::ctx: Make spawn() a ctx member function; add comments/doc.
|
2019-07-24 13:21:48 -07:00 |
|
Jason Volk
|
7dcd3fdcd8
|
ircd: Improve log format consistency.
|
2019-07-23 17:31: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
|
e36a3035a4
|
ircd::ctx: Use a pseudo ios::descriptor to include contexts in ircd::ios.
|
2019-07-21 17:55:58 -07:00 |
|
Jason Volk
|
471c08a41e
|
ircd::ctx: Split exception_handler w/ cxxabi header requirement.
|
2019-07-21 15:29:16 -07:00 |
|
Jason Volk
|
d19e960c58
|
ircd: Split ctx::ole to definition file.
|
2019-07-11 15:51:09 -07:00 |
|
Jason Volk
|
be0fad506e
|
ircd::ctx: Move macro condition to internal header.
|
2019-07-11 15:51:09 -07:00 |
|
Jason Volk
|
ab25346534
|
ircd::ctx: Tweak exception_handler.
|
2019-07-09 02:33:27 -07:00 |
|
Jason Volk
|
7af8e5774c
|
ircd::ios: Add no-op synchronous defer overload; use w/ this_ctx::yield().
|
2019-07-05 17:37:04 -07:00 |
|
Jason Volk
|
708b34092f
|
ircd::ctx: Handle exception before unwind of class members; comments.
|
2019-06-23 16:46:41 -07:00 |
|
Jason Volk
|
cf3b1218c4
|
ircd: Misc fixes for clang.
|
2019-06-23 16:22:06 -06:00 |
|