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 |
|
Jason Volk
|
801f0d57b7
|
ircd: Fix attributes for clang.
|
2019-06-23 07:37:23 -06:00 |
|
Jason Volk
|
534afe8859
|
ircd: No need to move x-values.
|
2019-06-22 17:36:42 -06:00 |
|
Jason Volk
|
3ccb7c1faa
|
ircd: Belay narrowing conversions.
|
2019-06-22 17:36:37 -06:00 |
|
Jason Volk
|
b06670266d
|
ircd::ctx: Add assertion on slice_enter TSC.
|
2019-06-05 12:57:19 -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
|
ddc17f424d
|
ircd::ctx: Use defer rather than post here.
|
2019-05-02 21:43:27 -07:00 |
|
Jason Volk
|
30b59f4736
|
ircd::prof: Reorg; deinline various; add comments.
|
2019-04-25 21:10:45 -07:00 |
|
Jason Volk
|
eaec5cb65e
|
ircd::ctx: Make this a critical error.
|
2019-04-24 16:28:42 -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
|
4038973297
|
ircd::util: Use allocator::node for instance_list instances.
|
2019-04-16 20:48:00 -07:00 |
|
Jason Volk
|
0e0d95b266
|
ircd::ctx: Fix comment error.
|
2019-04-15 14:44:58 -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 |
|
Jason Volk
|
3a68b65fe8
|
ircd::ctx: Optimize with no_stack_unwind attribute since it's done by us.
|
2019-04-05 18:12:23 -07:00 |
|
Jason Volk
|
63c850b123
|
ircd: Rename perf:: to prof::.
|
2019-04-03 15:51:42 -07:00 |
|
Jason Volk
|
403bf52867
|
ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils.
|
2019-03-31 18:16:18 -07:00 |
|
Jason Volk
|
672bb6f10c
|
ircd::ctx: Fix detach-mode deallocation points.
|
2019-03-30 13:08:04 -07:00 |
|
Jason Volk
|
55241c5309
|
ircd::ctx: Expand the reference cycle counting interface.
|
2019-03-27 13:04:12 -07:00 |
|
Jason Volk
|
28063823dd
|
ircd::ctx: Inline rdtsc().
|
2019-03-27 13:04:12 -07:00 |
|
Jason Volk
|
d2546120ee
|
ircd: Add descriptor participation for all asynchronous operations.
|
2019-03-27 13:04:12 -07:00 |
|
Jason Volk
|
3bc716e0f5
|
ircd::ctx: Assert ctx doesn't finish with uncaught exceptions.
|
2019-03-27 13:04:12 -07:00 |
|
Jason Volk
|
6fbd29b1ed
|
ircd::ctx: Add context::WAIT_JOIN feature flag.
|
2019-03-27 13:04:12 -07:00 |
|
Jason Volk
|
77648137e9
|
Revert "ircd: Remove use of all unwind::exceptional and unwind::nominal devices."
This reverts commit 4f243826c2 .
|
2019-03-22 21:06:28 -07:00 |
|
Jason Volk
|
712409218e
|
ircd::ctx: Manipulate uncaught exception count on context switch.
|
2019-03-22 21:06:28 -07:00 |
|
Jason Volk
|
5be75970e0
|
ircd::ctx: Ensure no rethrow from destructor.
|
2019-03-17 15:35:19 -07:00 |
|
Jason Volk
|
cff17eaa40
|
ircd: Add exception tools which elide copying.
|
2019-03-16 16:28:28 -07:00 |
|
Jason Volk
|
4f243826c2
|
ircd: Remove use of all unwind::exceptional and unwind::nominal devices.
|
2019-03-12 18:41:05 -07:00 |
|
Jason Volk
|
47bcfaecb4
|
ircd: Upgrade various templates with argument deduction.
|
2019-03-02 14:20:52 -08:00 |
|
Jason Volk
|
87ace85840
|
ircd::ctx::promise: Add missing valid() checks on operations.
|
2019-02-28 17:12:04 -08:00 |
|
Jason Volk
|
af6ac4a2ac
|
ircd: Replace various unwind count patterns with scope_count.
|
2019-02-28 17:12:03 -08:00 |
|
Jason Volk
|
95dbc571f8
|
ircd::ctx: Support slice_usage_warning outside of context system too.
|
2019-02-12 12:04:01 -08:00 |
|
Jason Volk
|
b687d63169
|
ircd::ctx: Create and use log facility.
|
2019-02-07 00:17:26 -08:00 |
|
Jason Volk
|
d639eceba2
|
ircd: Move runlevel related into ircd::run:: namespace.
|
2019-01-18 09:08:56 -08:00 |
|
Jason Volk
|
1a53b0e6e4
|
ircd::ctx: Improve exception handling at base frame.
|
2019-01-13 16:37:31 -08:00 |
|
Jason Volk
|
cbf456a388
|
ircd: Rename and refactor ircd::assertion interface into ircd::panic.
|
2019-01-13 16:37:31 -08:00 |
|
Jason Volk
|
4871928bfa
|
ircd::ctx: Partial de-inline of dock methods.
|
2019-01-13 13:57:34 -08:00 |
|
Jason Volk
|
16ebbbfa8a
|
ircd::ctx: Move and adjust default stack size.
|
2018-12-28 14:07:40 -08:00 |
|
Jason Volk
|
a66d5082d7
|
ircd::ctx: Prevent spawning initial pool contexts when no ios available.
|
2018-12-28 13:24:33 -08:00 |
|
Jason Volk
|
4a47b39298
|
ircd::ctx: Create and use an options structure for ctx::pool.
|
2018-12-28 12:57:32 -08:00 |
|
Jason Volk
|
5ae69dde95
|
ircd::ctx: Check for termination to condition pool work loop.
|
2018-12-27 17:20:43 -08:00 |
|
Jason Volk
|
364302c212
|
ircd::ctx: Add soft and hard limit logic for submitting to pool.
|
2018-12-27 17:20:42 -08:00 |
|
Jason Volk
|
9f70ce1b28
|
ircd::ctx: Add pool::min() convenience.
|
2018-12-24 16:20:03 -08:00 |
|
Jason Volk
|
387e8b8eed
|
ircd::ctx: Improve pool loop; improve log msg; add interruption point.
|
2018-12-24 12:06:05 -08:00 |
|
Jason Volk
|
70ebf4b066
|
ircd::ctx: Use thread_local for these.
|
2018-12-23 17:26:41 -08:00 |
|
Jason Volk
|
599831f680
|
ircd::ctx: Condition the prof checks on NDEBUG.
|
2018-12-22 21:27:19 -08:00 |
|
Jason Volk
|
894a947e24
|
ircd::ctx: Add specific define to activate prof::mark() for build.
|
2018-12-22 21:17:12 -08:00 |
|
Jason Volk
|
29e7fa3515
|
ircd::ctx: Use closure for continuation.
|
2018-12-22 21:03:14 -08:00 |
|
Jason Volk
|
37ba013413
|
ircd::ctx: Simplify continuation; eliminate to_asio derived type.
|
2018-12-22 20:11:00 -08:00 |
|
Jason Volk
|
365cf865d0
|
ircd::ctx: Various improvements/reorg of continuation/to_asio.
|
2018-12-22 17:24:48 -08:00 |
|
Jason Volk
|
d5ffc6b0de
|
ircd::ctx: Improve prof related; add full ticker of counters.
|
2018-12-22 15:17:18 -08:00 |
|
Jason Volk
|
a590ad1a03
|
ircd::ctx: Another attempt at using continuation dtor as an interruption point.
|
2018-12-22 13:36:48 -08:00 |
|
Jason Volk
|
0ed9382db0
|
ircd::ctx: Reorder the interruption point conditional branches.
|
2018-12-22 13:19:02 -08:00 |
|
Jason Volk
|
b5f4aeb67d
|
ircd::ctx: Assert ctx dtor isn't called while running.
|
2018-12-22 13:04:02 -08:00 |
|
Jason Volk
|
48b50acab2
|
ircd::ctx: Cleanup and recondition stack-protect related.
|
2018-12-22 13:04:02 -08:00 |
|
Jason Volk
|
08c940d0df
|
ircd::ctx: Use better interruption check; remove func condition.
|
2018-12-21 18:22:44 -08:00 |
|
Jason Volk
|
5e196ce0ac
|
ircd::ctx: Emit stack_protect in some places.
|
2018-12-21 17:18:41 -08:00 |
|
Jason Volk
|
f9ee616a9a
|
ircd::ctx::prof: Use a profile instance as a totals counter.
|
2018-12-21 11:55:43 -08:00 |
|
Jason Volk
|
67e6d363db
|
ircd::ctx: Add interruption point before yield to asio.
|
2018-12-20 14:21:48 -08:00 |
|
Jason Volk
|
9d7a53ae49
|
ircd::ctx: Move resume-interruption point to this_ctx::wait() suite.
|
2018-12-20 13:27:21 -08:00 |
|
Jason Volk
|
ddfafd45e2
|
ircd::ctx: Exempt SLICE_EXEMPT contexts from slice_usage_warning.
|
2018-12-18 18:10:06 -08:00 |
|
Jason Volk
|
a7b2f76c11
|
ircd::ctx: Add slice_usage_warning device.
|
2018-12-17 16:20:53 -08:00 |
|
Jason Volk
|
4686139f8e
|
ircd::ctx: Rework the prof stack to make a public test interface.
|
2018-12-17 15:24:41 -08:00 |
|
Jason Volk
|
2c713cc9a5
|
ircd::ctx: Tweak interruption point to asio; add comments.
|
2018-12-17 12:16:04 -08:00 |
|
Jason Volk
|
ba10948e9d
|
ircd::ctx: Move principal interruption point into continuation.
|
2018-12-16 18:37:51 -08:00 |
|
Jason Volk
|
2a23d9e6dd
|
ircd::ctx: Add more interface access to pool/queue; various cleanup.
|
2018-12-16 16:27:11 -08:00 |
|
Jason Volk
|
72859c650b
|
ircd::ctx: Convert various name character strings to string_view.
|
2018-12-16 16:27:11 -08:00 |
|
Jason Volk
|
98cb7693f3
|
ircd::ctx: Set context to NOINTERRUPT rather than clearing TERMINATED like an INTERRUPTED.
|
2018-12-15 18:18:00 -08:00 |
|
Jason Volk
|
7471bf54f4
|
ircd::ctx: Improve/conform some watchdog log messages.
|
2018-12-15 18:18:00 -08:00 |
|
Jason Volk
|
a3613b1f4c
|
ircd::ctx: Don't persist conf items for slice/stack assertions.
|
2018-12-13 16:25:42 -08:00 |
|
Jason Volk
|
399198deac
|
ircd::ctx: Add flags for slice and stack usage watchdog exemption.
|
2018-12-13 16:21:54 -08:00 |
|
Jason Volk
|
3df645fcfb
|
ircd::ctx: Improve some prof log messages.
|
2018-12-13 15:19:26 -08:00 |
|
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 |
|