Jason Volk
|
c8d5543c11
|
ircd::fs::aio: Improve handling of return and error behaviors of io_submit.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
afba6c2b5c
|
ircd::fs::aio: Add close-on-exec flag to the eventfd.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
5b934c5e71
|
ircd::db: Tweak error formatting.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
2e1828adbf
|
ircd::rfc3986: De-template grammar; fix rule array.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
3466597981
|
ircd::fs: Various reorg; cleanup.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
7e023beb4f
|
ircd::db: Reduce env debug noise when no compaction callback.
|
2018-12-28 18:18:13 -08:00 |
|
Jason Volk
|
12401c70aa
|
ircd::db: Don't start background tasks before runlevel::RUN.
|
2018-12-28 17:53:26 -08:00 |
|
Jason Volk
|
6784be5be8
|
ircd::db: Tweak interruption points; cleanup.
|
2018-12-28 17:14:19 -08:00 |
|
Jason Volk
|
c93cd90db1
|
ircd::aio: Simplify stats.
|
2018-12-28 16:30:27 -08:00 |
|
Jason Volk
|
30dc2ce7ed
|
ircd::fs: Various cleanup / renames.
|
2018-12-28 15:30:29 -08:00 |
|
Jason Volk
|
16ebbbfa8a
|
ircd::ctx: Move and adjust default stack size.
|
2018-12-28 14:07:40 -08:00 |
|
Jason Volk
|
d786079fca
|
ircd::log: Check if ios is available as a condition for vlog_threadsafe().
|
2018-12-28 13:24:33 -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
|
c97fcb3b2a
|
ircd::ios: Add function to check if an ios available.
|
2018-12-28 13:05:03 -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
|
fe0f548496
|
ircd::db: Update / cleanup / comment various opts related.
|
2018-12-28 10:55:57 -08:00 |
|
Jason Volk
|
c82382ea2c
|
ircd::db: Use a zero soft-limit to yield all requests when saturated; prefetch condition.
|
2018-12-27 17:20:43 -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
|
dad9ec8e44
|
ircd::fs: Increase default io_submit threshold.
|
2018-12-27 15:05:21 -08:00 |
|
Jason Volk
|
62bf807ad2
|
ircd::db: Wire up more IOPriority and write_opts related.
|
2018-12-27 14:58:04 -08:00 |
|
Jason Volk
|
7f41ca2f48
|
ircd::fs: Add nodelay option to write_opts; relax the flush on write by default.
|
2018-12-27 14:58:04 -08:00 |
|
Jason Volk
|
29fd84010f
|
ircd::db: RocksDB does its own read loop for sequential_file.
|
2018-12-27 14:58:04 -08:00 |
|
Jason Volk
|
beb7a0c180
|
ircd::db: Bypass call for block_size when not direct io.
|
2018-12-27 14:58:04 -08:00 |
|
Jason Volk
|
0c5ebde1fc
|
ircd::fs::aio: Add blocking point to manage io_submit's in flight; various reorg.
|
2018-12-27 14:58:03 -08:00 |
|
Jason Volk
|
69ae8308e5
|
ircd::fs::aio: Various improvements; fix cancel w/ queue; class member queues rather than tls.
|
2018-12-27 14:58:03 -08:00 |
|
Jason Volk
|
e58a975750
|
ircd::fs: Use a nice-style value for request priority; default to zero.
|
2018-12-27 14:58:03 -08:00 |
|
Jason Volk
|
2f5d175957
|
ircd::db: Add cached membership test to row interface.
|
2018-12-26 19:45:04 -08:00 |
|
Jason Volk
|
13621feca0
|
ircd::db: Use better cache membership test.
|
2018-12-26 19:44:26 -08:00 |
|
Jason Volk
|
38920719de
|
ircd:Ⓜ️ Add suite to check if event is cached.
|
2018-12-26 19:01:13 -08:00 |
|
Jason Volk
|
5fb887096b
|
ircd::fs: Prevent ODR warnings from these weak defs.
|
2018-12-26 15:49:08 -08:00 |
|
Jason Volk
|
444000faf1
|
ircd::fs: Add a nodelay option on reads.
|
2018-12-26 15:42:23 -08:00 |
|
Jason Volk
|
7a9d70f15d
|
ircd::aio: Add a reference to the fs opts structure for the request.
|
2018-12-26 15:40:22 -08:00 |
|
Jason Volk
|
528dff78ff
|
ircd::aio: Flush the io_submit queue on all non-reading ops.
|
2018-12-26 15:16:31 -08:00 |
|
Jason Volk
|
9f70ce1b28
|
ircd::ctx: Add pool::min() convenience.
|
2018-12-24 16:20:03 -08:00 |
|
Jason Volk
|
c1c11b4aed
|
ircd::db: Enrich seek(row) opts; add proper error handling and propagation.
|
2018-12-24 14:33:35 -08:00 |
|
Jason Volk
|
b035bb9824
|
ircd::db: No need to copy gopts in db::cell related.
|
2018-12-24 14:32:33 -08:00 |
|
Jason Volk
|
2876398c04
|
ircd::db: Simplify/Consolidate error hierarchy.
|
2018-12-24 13:32:22 -08:00 |
|
Jason Volk
|
aa166d0c5d
|
ircd::json::stack: Add noexcept for non-throwers called during stack unwinds.
|
2018-12-24 12:06:57 -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
|
956a8e239c
|
Use more aggressive tls-model options.
|
2018-12-23 17:36:35 -08:00 |
|
Jason Volk
|
70ebf4b066
|
ircd::ctx: Use thread_local for these.
|
2018-12-23 17:26:41 -08:00 |
|
Jason Volk
|
b5168eb063
|
ircd::db: Prevent copying log message if unnecessary.
|
2018-12-23 14:33:22 -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
|
8e8602e08a
|
ircd::log: Skip some operations for log levels not compiled in.
|
2018-12-22 17:24:49 -08:00 |
|
Jason Volk
|
c2b344b74e
|
ircd: Allow exceptions to propagate from various interruptors.
|
2018-12-22 17:24:48 -08:00 |
|
Jason Volk
|
365cf865d0
|
ircd::ctx: Various improvements/reorg of continuation/to_asio.
|
2018-12-22 17:24:48 -08:00 |
|
Jason Volk
|
308b27cda1
|
ircd::aio: Simplify the submit(request) procedure.
|
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
|
39d4f2fb83
|
ircd::ctx: Expose the profile state struct in the prof:: interface.
|
2018-12-22 13:47:13 -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
|
97880281f8
|
ircd::aio: No need to post more than one chaser at a time.
|
2018-12-22 12:13:31 -08:00 |
|
Jason Volk
|
08c940d0df
|
ircd::ctx: Use better interruption check; remove func condition.
|
2018-12-21 18:22:44 -08:00 |
|
Jason Volk
|
29d6d819ca
|
ircd::fpe: Use std noreturn here.
|
2018-12-21 17:19:16 -08:00 |
|
Jason Volk
|
5e196ce0ac
|
ircd::ctx: Emit stack_protect in some places.
|
2018-12-21 17:18:41 -08:00 |
|
Jason Volk
|
d902269165
|
ircd::mods: Throw fs::error rather than boost's filesystem_error.
|
2018-12-21 15:33:18 -08:00 |
|
Jason Volk
|
cb2b3e7c16
|
ircd: Minor link options package.
|
2018-12-21 14:38:14 -08:00 |
|
Jason Volk
|
1ef9fa7676
|
ircd:json: De-template output grammar and assume iterator type; remove ostreamer.
|
2018-12-21 14:02:02 -08:00 |
|
Jason Volk
|
d28c007f3c
|
ircd::json: De-template input grammar and assume iterator type.
|
2018-12-21 14:00:54 -08:00 |
|
Jason Volk
|
7c5b709803
|
ircd::http: De-template grammar and assume iterator type.
|
2018-12-21 13:56:20 -08:00 |
|
Jason Volk
|
31ffcfa859
|
ircd:Ⓜ️🆔 De-template grammars and assume iterator type; minor fixes.
|
2018-12-21 13:55:11 -08:00 |
|
Jason Volk
|
1262163805
|
ircd::fs::aio: Add condition to submit for queue full; assertions; minor cleanup.
|
2018-12-21 13:25:08 -08:00 |
|
Jason Volk
|
69e3677dd5
|
ircd::fs: Add instrumentation related for dynamic stack array.
|
2018-12-21 13:19:34 -08:00 |
|
Jason Volk
|
a5ebc28928
|
ircd::fs::aio: Reorganize with symbol overriding; add conf items.
|
2018-12-21 13:04:57 -08:00 |
|
Jason Volk
|
c3d95aa8de
|
ircd::fs: Remove the thread_local convenience for make_iov().
|
2018-12-21 12:57:58 -08:00 |
|
Jason Volk
|
2f36fec41a
|
ircd::fs: Cleanup the duplicate support state indicators.
|
2018-12-21 12:09:44 -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
|
2c5d6bb7ba
|
ircd::fs::aio: Preliminary io_submit queue to leverage disk controller optimizations.
|
2018-12-21 10:36:05 -08:00 |
|
Jason Volk
|
152060da36
|
ircd::fs: Create iov on the stack rather than with tls.
|
2018-12-21 10:28:51 -08:00 |
|
Jason Volk
|
67e6d363db
|
ircd::ctx: Add interruption point before yield to asio.
|
2018-12-20 14:21:48 -08:00 |
|
Jason Volk
|
68d0561788
|
ircd::aio: Reorder definitions.
|
2018-12-20 13:41:00 -08:00 |
|
Jason Volk
|
0d21e05c09
|
ircd::aio: Minor cleanup.
|
2018-12-20 13:37:25 -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
|
7c24e6dab6
|
ircd::aio: Reduce the max events constant.
|
2018-12-20 11:52:46 -08:00 |
|
Jason Volk
|
78c4c2fb37
|
doc: Reorg some documentation.
|
2018-12-20 11:29:54 -08:00 |
|
Jason Volk
|
c1779fbf0d
|
ircd::client: Improve log message.
|
2018-12-19 17:06:30 -08:00 |
|
Jason Volk
|
009979a544
|
ircd:Ⓜ️ Increase error buffer size.
|
2018-12-19 15:57:23 -08:00 |
|
Jason Volk
|
2d90469f6b
|
ircd::log: Tweak defaults.
|
2018-12-19 14:14:28 -08:00 |
|
Jason Volk
|
df7e46722f
|
ircd::db: Add a ctx::slice_usage_warning message for background task executions.
|
2018-12-19 14:06:28 -08:00 |
|
Jason Volk
|
605cce9ed1
|
ircd::db: Propagate the FlushOptions.allow_write_stall option; improve sort cmd.
|
2018-12-19 13:58:09 -08:00 |
|
Jason Volk
|
f683e60df4
|
ircd::db: Add reflections for compaction and flush reasons.
|
2018-12-19 13:39:06 -08:00 |
|
Jason Volk
|
e1af547e16
|
ircd::db: Minor tweak log message fmt.
|
2018-12-19 13:09:10 -08:00 |
|
Jason Volk
|
5a0a9989e4
|
ircd::log: Rename facility to level.
|
2018-12-19 12:52:08 -08:00 |
|
Jason Volk
|
b4910319e0
|
ircd: Add various comments / documentations.
|
2018-12-19 12:35:21 -08:00 |
|
Jason Volk
|
0017a942e2
|
ircd::info: Reorganize info.
|
2018-12-19 12:35: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
|
00e27b070e
|
ircd::log: Control logging with conf items.
|
2018-12-18 18:10:06 -08:00 |
|
Jason Volk
|
5d1f17b26e
|
ircd::db: Checkpoint options default package.
|
2018-12-18 17:36:51 -08:00 |
|
Jason Volk
|
e1fd3f556b
|
ircd: Move runlevel definitions into ircd.cc.
|
2018-12-18 17:34:12 -08:00 |
|
Jason Volk
|
bd5ecceb65
|
ircd::info: Reorg / add some more info.
|
2018-12-18 16:01:45 -08:00 |
|
Jason Volk
|
0006fa85ce
|
ircd::aio: Reduce the max events const.
|
2018-12-18 15:45:06 -08:00 |
|
Jason Volk
|
3afce36dd4
|
ircd::info: Get sysconf() for maximum AIO operations.
|
2018-12-18 15:44:43 -08:00 |
|
Jason Volk
|
582628fb71
|
ircd::fs: Add read/write options to restart operation on EINTR.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
254d5ccb50
|
ircd::fs: Add 'all' write option with internal loop.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
541b020a19
|
ircd::db: Add read options for 'aio' and 'all' to file env classes.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
bb3a68a95e
|
ircd::fs: Handle partial reads internally with 'all' option.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
c3cf4c02dd
|
ircd::fs: Use posix iov in AIO interface arguments.
|
2018-12-18 14:21:09 -08:00 |
|
Jason Volk
|
77a84b18d3
|
ircd::fs: Add offset to make_iov() suite.
|
2018-12-18 14:21:09 -08:00 |
|
Jason Volk
|
81ca6fecf4
|
ircd::fs: Add slice usage warning reasons; simplify conditional logic.
|
2018-12-17 16:20:54 -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
|
1e1c9c6a1e
|
ircd::db: Add more information to some file-related env log messages.
|
2018-12-17 14:01:45 -08:00 |
|
Jason Volk
|
beda5abc2a
|
ircd:Ⓜ️:dbs: Add conf items for some buffer sizes.
|
2018-12-17 13:18:27 -08:00 |
|
Jason Volk
|
2c713cc9a5
|
ircd::ctx: Tweak interruption point to asio; add comments.
|
2018-12-17 12:16:04 -08:00 |
|
Jason Volk
|
495b70ec6d
|
ircd::db: Improve shutdown sequence.
|
2018-12-16 18:37:51 -08:00 |
|
Jason Volk
|
ba10948e9d
|
ircd::ctx: Move principal interruption point into continuation.
|
2018-12-16 18:37:51 -08:00 |
|
Jason Volk
|
16ea21e9f3
|
ircd::db: Use appropriate log facility for bad news in events callbacks.
|
2018-12-16 18:37:51 -08:00 |
|
Jason Volk
|
fae947d433
|
ircd::db: Add a background cancel interface w/ console cmd.
|
2018-12-16 18:37:51 -08:00 |
|
Jason Volk
|
55023041b8
|
ircd::db: Reorg environment task pool related.
|
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
|
a513ba9cf3
|
ircd::db: Deinline some env::state related.
|
2018-12-16 16:27:11 -08:00 |
|
Jason Volk
|
e22162f505
|
ircd::db: Add noexcept specifiers to all port interfaces.
|
2018-12-16 16:27:11 -08:00 |
|
Jason Volk
|
94518ded5f
|
ircd::db: Move env::state related; minor cleanup.
|
2018-12-16 16:27:11 -08:00 |
|
Jason Volk
|
705033c459
|
ircd::db: Relax various write-lock and uninterruptible points.
|
2018-12-16 16:27:10 -08:00 |
|
Jason Volk
|
d6e05aa826
|
ircd::db: Remove the write lock during manual range compaction.
|
2018-12-15 23:08:07 -08:00 |
|
Jason Volk
|
d754af2f18
|
ircd::db: Disable interruption for port operations.
|
2018-12-15 23:07:42 -08:00 |
|
Jason Volk
|
67ce539759
|
ircd::db: Improve shutdown sequence for environment.
|
2018-12-15 23:06:33 -08:00 |
|
Jason Volk
|
9f458938db
|
ircd: Gracefully ignore termination propagated from ircd::main().
|
2018-12-15 20:51:57 -08:00 |
|
Jason Volk
|
a2a66eb314
|
ircd::fs: Deinline various error ctor; simplify various error handling.
|
2018-12-15 20:50:32 -08:00 |
|
Jason Volk
|
d96ddae133
|
ircd::db: Propagate all errors from db::init_directory().
|
2018-12-15 20:50:32 -08:00 |
|
Jason Volk
|
3fd689931c
|
ircd::db: Add state and conditions for AIO operations on sequential_file.
|
2018-12-15 20:29:54 -08:00 |
|
Jason Volk
|
da97535713
|
ircd::db: Reduce the severity of the logmsg for ENOENT on a seqfile open().
|
2018-12-15 20:29:54 -08:00 |
|
Jason Volk
|
bb6ba69f0b
|
ircd::db: Fix error handling for column_names(); add comments.
|
2018-12-15 20:29:54 -08:00 |
|
Jason Volk
|
5bba7b3f16
|
ircd: Remove make install hook to create db dir: already done in db::init.
|
2018-12-15 20:29:54 -08:00 |
|
Jason Volk
|
f1948d38e0
|
ircd::log: Create log directory at runtime rather than install.
|
2018-12-15 20:29:54 -08:00 |
|
Jason Volk
|
a8584f3336
|
ircd::fmt: Fix unconditional null termination regression.
|
2018-12-15 20:29:53 -08:00 |
|
Jason Volk
|
d7891d91e8
|
ircd::mods: Improve dlopen()/handle construction accoutrements.
|
2018-12-15 20:29:53 -08:00 |
|
Jason Volk
|
5d7f971b89
|
ircd::mods: Disable interruption during dlopen() / static init.
|
2018-12-15 20:29:53 -08:00 |
|
Jason Volk
|
4216e939c8
|
ircd: Set runlevel to QUIT when ircd::quit() called in START state.
|
2018-12-15 18:18:00 -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
|
2cc7831770
|
ircd::fs: Add option to bypass AIO for specific operations.
|
2018-12-15 18:17:59 -08:00 |
|
Jason Volk
|
70d4b32c3d
|
ircd::db: Add interface for pause/continue of background work w/ console cmd.
|
2018-12-14 17:27:48 -08:00 |
|
Jason Volk
|
2eaf5c74c2
|
ircd::fmt: Minor simplify; cleanup.
|
2018-12-14 15:51:12 -08:00 |
|
Jason Volk
|
68e91d9206
|
ircd::client: Broadcast the notify to this dock here.
|
2018-12-14 15:38:31 -08:00 |
|
Jason Volk
|
c4d5f03725
|
ircd::fs: Add compat interface for range flush()/sync().
|
2018-12-13 18:04:48 -08:00 |
|
Jason Volk
|
5e8d5562da
|
ircd::fs: Simplify interface.
|
2018-12-13 17:46:08 -08:00 |
|
Jason Volk
|
9d423f84d8
|
ircd:;fs: Rename various fsync/sync related.
|
2018-12-13 16:54:09 -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
|
e2cb79e28d
|
ircd::db: Minor cleanup; comments.
|
2018-12-13 13:44:37 -08:00 |
|
Jason Volk
|
b68677cc28
|
ircd::db: Simplify error handling and translation for env.
|
2018-12-12 17:32:24 -08:00 |
|