Jason Volk
|
b3dbf0cd01
|
ircd::ctx: Start an interpositionable posix thread interface.
|
2020-05-04 16:09:39 -07:00 |
|
Jason Volk
|
18f215d3f0
|
ircd: Move main_thread assertion related to ctx; adjust condition.
|
2020-05-04 16:09:39 -07:00 |
|
Jason Volk
|
77dc612735
|
ircd::ctx: Various assertions for current context.
|
2020-05-04 13:15:45 -07:00 |
|
Jason Volk
|
a776565ce0
|
ircd::ctx: Fixes and assertions for shared_mutex upgrade lockable semantics.
|
2020-05-04 13:15:45 -07:00 |
|
Jason Volk
|
926795f01a
|
ircd::ctx: Use context pointer for mutex/shared_mutex acquisition state.
|
2020-05-04 13:15:45 -07:00 |
|
Jason Volk
|
d72124f7c6
|
ircd::ctx: Bring condition_variable up to parity with ctx::dock.
|
2020-05-04 13:15:45 -07:00 |
|
Jason Volk
|
f9015b8336
|
ircd::ctx::dock: Minor reorg.
|
2020-05-02 23:57:53 -07:00 |
|
Jason Volk
|
32230ed2d4
|
ircd::ctx: Profile peak stack usage at slice leave event.
|
2020-04-23 12:41:39 -07:00 |
|
Jason Volk
|
5a27958fa0
|
ircd::ctx: Unify access to ctx::stack, expose structure; remove cruft.
|
2020-04-23 12:41:38 -07:00 |
|
Jason Volk
|
6679b66806
|
ircd::prof: Move ctx::syscall_usage_warning into prof.
|
2020-03-06 15:43:24 -08:00 |
|
Jason Volk
|
a6131d1268
|
ircd::ctx: Split sleep()/wait() suites into headers.
|
2020-02-28 09:11:06 -08:00 |
|
Jason Volk
|
628b194151
|
ircd::ctx: Relax member access.
|
2020-02-24 16:44:15 -08:00 |
|
Jason Volk
|
c3349b9d40
|
ircd::ctx::dock: Add convenience interface for interrupt/terminate/notify.
|
2020-02-19 16:16:53 -08:00 |
|
Jason Volk
|
43f5ebe8e3
|
ircd::ctx: Inline the interruptible/uninterruptible instanced interface.
|
2020-02-19 08:40:15 -08:00 |
|
Jason Volk
|
0fd8019149
|
ircd::ctx: Use thread_local keyword for current.
|
2020-02-11 12:18:25 -08:00 |
|
Jason Volk
|
0c43394446
|
ircd::ctx::ole: Fix struct namespace error.
|
2020-02-01 12:31:37 -08:00 |
|
Jason Volk
|
e2e4ea544b
|
ircd::ctx: Move paragraph in README.
|
2020-01-11 23:31:53 -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
|
d44da6c8fd
|
ircd::ctx: Add inline redefinition of coroutine_context::jump().
|
2019-10-10 19:34:01 -07:00 |
|
Jason Volk
|
7afb295c09
|
ircd::ctx: Partial inline continuation.
|
2019-10-10 19:33: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
|
01af00bae0
|
ircd::ctx: Preliminary trilean logic concept (WIP).
|
2019-09-30 14:23:28 -07:00 |
|
Jason Volk
|
36b621e72b
|
ircd::ctx: Minor fix inconsistent header HAVE_ defines.
|
2019-09-30 14:23:28 -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
|
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 |
|