Jason Volk
|
07ec766ff9
|
ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes.
|
2020-12-20 06:02:50 -08:00 |
|
Jason Volk
|
1f2abfb64a
|
ircd::ios: Integrate descriptor::stats into ircd::stats system.
|
2020-12-18 02:42:07 -08:00 |
|
Jason Volk
|
e80629c914
|
ircd: Rename all ios::descriptors w/ consistent dot namespacing.
ircd: Hoist various ios::descriptors out of function-static duration.
|
2020-12-18 02:42:07 -08:00 |
|
Jason Volk
|
956ea6edb6
|
ircd::ctx: Add constexpr toggles covering all possible branches.
|
2020-12-13 08:29:33 -08:00 |
|
Jason Volk
|
799c4e1691
|
ircd::ctx: Add ios profile debuglog indicating ctx::wake().
|
2020-12-13 08:29:33 -08:00 |
|
Jason Volk
|
d947b5e724
|
ircd::ios: Add missing context switch for dispatch; assertions.
|
2020-12-13 08:29:33 -08:00 |
|
Jason Volk
|
fbc3ab87e9
|
ircd::ctx: Add interface to change name; implement posix handler.
|
2020-11-13 21:07:14 -08:00 |
|
Jason Volk
|
f3886d60d8
|
ircd: Replace callsites w/ template deduced mutable_cast.
|
2020-11-05 22:10:53 -08:00 |
|
Jason Volk
|
bbefffe2ac
|
ircd::ctx: Hoist adjoindre class member to static.
|
2020-10-28 03:31:55 -07:00 |
|
Jason Volk
|
dc388a0f09
|
ircd::ctx: Use vg::stack registration in stack allocator.
|
2020-10-16 14:32:06 -07:00 |
|
Jason Volk
|
339e86d2b8
|
ircd::ctx: Hoist various function static descriptor objects; inline courtesy yield().
|
2020-10-16 05:19:14 -07:00 |
|
Jason Volk
|
8d174ea80d
|
ircd::ctx: Workaround ircd::size() assertion due to begin(buf)=nullptr.
ircd::ctx: Fix error.
|
2020-10-15 06:09:31 -07:00 |
|
Jason Volk
|
ad41fb69a9
|
ircd::ctx: Support user-supplied stacks.
|
2020-10-14 02:22:45 -07:00 |
|
Jason Volk
|
28eaf63543
|
ircd::ctx: Convey allocated stack for context to context at entry.
|
2020-10-14 02:22:45 -07:00 |
|
Jason Volk
|
5d23b8657e
|
ircd::ctx: Hook the asio spawn helper.
|
2020-10-14 02:22:45 -07:00 |
|
Jason Volk
|
dba80e17b1
|
ircd::ctx: Hook the stack allocator.
|
2020-10-14 02:22:45 -07:00 |
|
Jason Volk
|
d1c2e0baeb
|
ircd::ctx: Belay marking entry point until after initial interrupt check.
|
2020-10-08 20:49:49 -07:00 |
|
Jason Volk
|
bfe864663c
|
ircd::ctx: Use proper source for epoch counter.
|
2020-10-08 20:49:49 -07:00 |
|
Jason Volk
|
98dd705de9
|
ircd::ctx: Default to DISPATCH method to wrap context switch spawn; simplify stack.
|
2020-09-08 22:43:30 -07:00 |
|
Jason Volk
|
669c8d0d0f
|
ircd::ctx: Remove leaf attribute; use hot section attribute in unit.
|
2020-08-23 02:32:54 -07:00 |
|
Jason Volk
|
07830f1413
|
ircd::ctx: Integrate slice cycle counters with ios.
|
2020-08-21 10:43:04 -07:00 |
|
Jason Volk
|
1a433f7274
|
ircd::ctx: Eliminate branch in prof::mark() stack.
|
2020-08-02 06:42:04 -07:00 |
|
Jason Volk
|
ea039f29b5
|
ircd::ctx: Inline prof::mark() into callsites; remove static w/ indirect jump.
|
2020-08-02 06:22:33 -07:00 |
|
Jason Volk
|
52013c1ee0
|
ircd::ctx::list: Reduce out-of-line accessor surface.
|
2020-07-11 18:51:19 -07:00 |
|
Jason Volk
|
a3dc7331cc
|
ircd::ctx::list: Remove from hot section.
|
2020-07-11 18:13:13 -07:00 |
|
Jason Volk
|
6ec9b2a783
|
ircd: Specify explicit noexcept for gcc-10 issue.
|
2020-07-11 17:57:33 -07:00 |
|
Jason Volk
|
505fe310a8
|
ircd::ctx: Inline various codepaths leading to flags(ctx).
ircd::ctx: Inline cheap prof::get() wrappings.
|
2020-06-18 03:56:09 -07:00 |
|
Jason Volk
|
d00392b90c
|
ircd::ctx: Call any interruption handler even if interrupts disabled.
|
2020-05-24 20:34:44 -07:00 |
|
Jason Volk
|
e938081404
|
ircd::ctx: Add watchdog log facility.
|
2020-05-24 17:42:32 -07:00 |
|
Jason Volk
|
ac42d4df13
|
ircd::ctx: Measure and report epoch span for slice_usage_warning.
|
2020-05-24 17:14:02 -07:00 |
|
Jason Volk
|
f070e3b706
|
ircd::ctx: Condition on RB_DEBUG rather than NDEBUG for slice_usage_warning tool.
|
2020-05-24 17:14:02 -07:00 |
|
Jason Volk
|
9213d31f1d
|
ircd::ctx: Inline interruptible(ctx, ...) manipulators.
|
2020-05-19 15:55:18 -07:00 |
|
Jason Volk
|
3c96120e72
|
ircd::ctx: Add some noexcept; minor comment justification.
|
2020-05-18 19:57:54 -07:00 |
|
Jason Volk
|
00fe4baa2a
|
ircd::ctx: Add direct flags reference accessor to interface.
|
2020-05-18 19:57:54 -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
|
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
|
dd1e016ec5
|
ircd::ctx: Don't zero stack.max at completion.
|
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
|
2fbb7d1521
|
ircd::ctx: Eliminate strand from ctx.
|
2020-02-27 12:44:57 -08:00 |
|
Jason Volk
|
c1737e167c
|
ircd::ios: Employ the asio::executor abstraction w/ backward-compat.
|
2020-02-27 12:44:57 -08:00 |
|
Jason Volk
|
d0b0c4e23c
|
ircd::ctx: Use better namespace identifier on call.
|
2020-02-25 11:20:16 -08:00 |
|
Jason Volk
|
d6d83f6498
|
ircd::ctx: Move the asio override definition to section; optimize linkage.
|
2020-02-25 10:35:16 -08:00 |
|
Jason Volk
|
ea30ee38f9
|
ircd::ctx: Optimize asio timer cancel action for ctx::wake().
|
2020-02-23 16:23:25 -08:00 |
|
Jason Volk
|
43cf0050ee
|
ircd::ctx: Use post rather than defer for self yield.
|
2020-02-23 12:15:55 -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
|
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 |
|