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
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
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
e88f18d65c
ircd::ctx: Internalize prof::mark() for unconditional event counting.
2019-05-26 02:49: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
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
40b3bdaa89
ircd::ctx::prof: Add uint argument for rdpmc; minor cleanup.
2019-03-31 13:24:11 -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
d5ffc6b0de
ircd::ctx: Improve prof related; add full ticker of counters.
2018-12-22 15:17:18 -08:00
Jason Volk
39d4f2fb83
ircd::ctx: Expose the profile state struct in the prof:: interface.
2018-12-22 13:47:13 -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
4686139f8e
ircd::ctx: Rework the prof stack to make a public test interface.
2018-12-17 15:24:41 -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
48055cb276
ircd::ctx: Add special termination interruption to yanagiba the stack.
2018-05-06 02:06:08 -07:00
Jason Volk
1059688d02
ircd::ctx: Add state for stack usage profiling; clarify some interfaces.
2018-05-05 23:14:11 -07:00
Jason Volk
f55304e0a1
ircd::ctx: Add slice total counter; move check_stack after timing sample.
2018-05-05 22:42:25 -07:00
Jason Volk
ea42490b4e
ircd::ctx: Consolidate slice timing to tsc; add public interfacing.
2018-05-05 22:24:25 -07:00
Jason Volk
09c282fd8e
ircd::ctx: Add stack_usage_assertion; move stack_usage_here() into this_ctx::.
2018-04-27 19:09:26 -07:00
Jason Volk
d673ce16d4
ircd::ctx: Relax noinline attribute on prof::stack_usage_here() wrapper.
2018-02-20 15:40:40 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
6cd58b0d6a
ircd: Update various comments / minor cleanup.
2017-09-24 18:16:32 -07:00
Jason Volk
f98be1582d
ircd::ctx: Expose stack usage functions to user.
2017-09-08 03:47:50 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
2f645941a8
ircd::ctx: Move ctx headers into directory.
2016-11-13 16:29:45 -08:00