Jason Volk
b7b2c44973
ircd: Improve restart-assist to convey different program options.
2020-10-01 00:02:16 -07:00
Jason Volk
fecd009ffb
ircd: Ⓜ️ :db: Fix accounting for index compression.
...
Revert 1051e740cc
.
2020-09-30 19:40:29 -07:00
Jason Volk
6c89faee13
ircd::ctx::posix: Enforce noexcept on the full surface.
2020-09-29 16:09:10 -07:00
Jason Volk
00350ab96c
ircd::prof: Fix util::pretty() call (debugmode regression 512b12caf1
).
2020-09-29 10:38:09 -07:00
Jason Volk
ca7b7b0c61
ircd::db: Move computed properties from console into info struct.
2020-09-29 08:01:14 -07:00
Jason Volk
88808f597a
ircd::info: Additional string for compiler name; architecture related.
2020-09-29 00:19:42 -07:00
Jason Volk
4dbb550e89
ircd::fs: Add support for O_EXCL; add exclusive to fd::opts.
2020-09-28 22:33:46 -07:00
Jason Volk
9c82dad2f7
ircd::fs: Add missing O_TRUNC -> std::ios::trunc in options parseback.
2020-09-28 22:33:46 -07:00
Jason Volk
95cb3df160
ircd::fs: Rename nocreate to create in fd::opts.
2020-09-28 22:33:46 -07:00
Jason Volk
a509334c2d
ircd::b64: Simplify condition; replace lateral() w/ any().
2020-09-28 22:33:46 -07:00
Jason Volk
742c29500f
ircd::json: Replace simd::lateral used at inefficient lane types.
2020-09-28 00:27:30 -07:00
Jason Volk
512b12caf1
ircd::util: Refactor pretty(duration) interface; internal template.
2020-09-27 18:12:51 -07:00
Jason Volk
1276717be3
ircd::json: Add branch condition for number value to eliminate calls.
2020-09-27 15:44:53 -07:00
Jason Volk
3fedfaeb8d
ircd: Add conf item to convey contextual diagnostic options.
2020-09-27 14:57:07 -07:00
Jason Volk
30e5a0110c
ircd::spirit: Add template id to custom_parser; add three specializations per unit for now.
2020-09-27 14:57:07 -07:00
Jason Volk
9768bbd1c6
ircd::db::allocator: Fix conditions for jemalloc #ifdefs. ( #165 )
2020-09-25 10:02:39 -07:00
Jason Volk
e6d5832ca6
ircd::icu: Use int32_t rather than size_t for macro argument. ( #165 )
2020-09-25 06:13:50 -07:00
Jason Volk
af2115eee5
ircd::db: Add version compatibility for table_properties::num_deletions.
2020-09-24 13:20:24 -07:00
Jason Volk
a11a5613bb
ircd::db: Reorg database options.
2020-09-24 02:58:32 -07:00
Jason Volk
245921c2b6
ircd::db: Yield context on stall condition callback to relieve some pressure.
2020-09-24 02:58:31 -07:00
Jason Volk
03b7e5af1e
ircd::server: Fix missing copy of partial dynamic chunk head to cancellation.
2020-09-23 20:57:22 -07:00
Jason Volk
dd452e1770
ircd::server: Additional assertions.
2020-09-23 17:41:10 -07:00
Jason Volk
25cd479a7c
configure: Fix conditions for compiling libicu dependent units. ( fixes #165 )
2020-09-23 17:40:53 -07:00
Jason Volk
3c0c0283df
ircd::db: Elide unnecessary exported symbols.
2020-09-21 20:50:58 -07:00
Jason Volk
7201a11c7a
ircd::db: Optimize iterator comparison operators.
2020-09-21 20:50:58 -07:00
Jason Volk
2741ab785c
ircd::db: Inline trivial operator wrappers.
2020-09-21 20:50:58 -07:00
Jason Volk
8155c38f7f
ircd::db: Compression hierarchy; increase compaction readahead; table options.
2020-09-21 20:50:57 -07:00
Jason Volk
5ac0457d55
configure: Support libzstd related in build.
2020-09-21 16:22:23 -07:00
Jason Volk
ca9314ce49
ircd::db: Add newer checksum interposition.
2020-09-21 16:22:23 -07:00
Jason Volk
312625bc08
ircd::db: Use ZSTD compression by default.
2020-09-20 12:50:17 -07:00
Jason Volk
e2ac5c6fc7
ircd::db: Use conf item for default compression string in descriptor.
2020-09-20 12:50:17 -07:00
Jason Volk
358008e8e7
ircd::db: Improve compression options; bottommost LZ4HC.
2020-09-19 07:47:21 -07:00
Jason Volk
305aa691e7
ircd::json: Improve return count; add condition for noisy dwarning.
2020-09-18 22:09:56 -07:00
Jason Volk
6edb1d4eec
ircd::db: Skip infolog under condition with mostly zero values.
2020-09-18 22:09:53 -07:00
Jason Volk
f5931e8fc7
ircd::server: Fix repeated log message; additional assertions.
2020-09-18 22:01:16 -07:00
Jason Volk
60382c2371
ircd::db: Improve universal compaction descent; flush on shutdown.
2020-09-18 18:47:15 -07:00
Jason Volk
5762513c73
ircd::db: Use warning level for certain compaction/flush reasons.
2020-09-18 18:47:15 -07:00
Jason Volk
229efaf486
ircd::db: Obtain file creation time if available in metadata.
2020-09-18 18:47:15 -07:00
Jason Volk
d229f32a46
ircd::json: Fix double indirect call.
2020-09-18 18:47:15 -07:00
Jason Volk
70860ecaa2
ircd::db: Add parallel read suite to interface.
2020-09-17 10:49:41 -07:00
Jason Volk
ac64faee5f
ircd::db: Minor reorder column definitions.
2020-09-17 10:49:41 -07:00
Jason Volk
66368d1cdc
ircd::db: Add typedefs for parallel query argument templates.
2020-09-17 10:49:41 -07:00
Jason Volk
bd3d34adb2
ircd::db: Additional compaction log related.
2020-09-17 10:49:41 -07:00
Jason Volk
6fed4f53d7
ircd::db: Reorg options by compaction type.
2020-09-16 06:55:14 -07:00
Jason Volk
f8841a7f60
ircd::server: Check for empty buffer and bail before recv()'ing on it.
2020-09-16 01:42:27 -07:00
Jason Volk
ebef47f32d
ircd::db: Improve logged flush and compaction information.
2020-09-16 01:03:42 -07:00
Jason Volk
4ecb2d0d5f
ircd: Add distinct maintenance mode; chain write-avoid/read-only and net listen modes.
2020-09-15 22:16:11 -07:00
Jason Volk
772022a74e
ircd::ed25519: Add create option to ctor; remove reference to global.
2020-09-15 18:46:28 -07:00
Jason Volk
1668bee2e5
ircd::json: Logical revert of a4766e583; reduces to minor cleanup/simplify.
2020-09-15 16:53:45 -07:00
Jason Volk
a2df9a9cdc
ircd::db: Add conf item to toggle WAL in write opts.
2020-09-15 04:33:28 -07:00
Jason Volk
3cf21998ae
ircd::db: Partial revert of 614f9cb31
due to unaligned throughput complications.
2020-09-15 04:33:28 -07:00
Jason Volk
9e7991900c
ircd::db::database::env: Fix size assumption for this->buffer.
2020-09-15 04:33:28 -07:00
Jason Volk
0a7b8f03c9
irdb::db::database::env: Fix deprecated unbounded buffer offset constructions.
2020-09-15 04:33:28 -07:00
Jason Volk
8bdedb569c
ircd::db: Add preliminary custom rate limiter drop-in.
2020-09-15 04:33:28 -07:00
Jason Volk
f7400edc75
ircd::db: Tweak write-side column buffer and level0 scale; concurrent flush.
2020-09-15 04:33:28 -07:00
Jason Volk
439fb28854
ircd::fs: Relax assertion on buffer length at alignment.
2020-09-15 04:33:28 -07:00
Jason Volk
00657475d1
ircd::db: Relax assertions from concurrent flush.
...
ircd::db: Relax assertion when reflecting IO_TOTAL.
2020-09-15 04:33:28 -07:00
Jason Volk
121de5a6dc
ircd::db: Fix comment; tweak universal compaction max width.
2020-09-14 14:16:31 -07:00
Jason Volk
a02bd474d7
Fix EXTRA_CXXFLAGS append order regression.
2020-09-13 14:32:47 -07:00
Jason Volk
a4766e5834
ircd::json: Remove redundant type determination from value constructions.
2020-09-13 10:29:26 -07:00
Jason Volk
e39182be25
ircd::fs: Add prefetch convenience to interface.
2020-09-13 08:42:34 -07:00
Jason Volk
66f99f70c2
ircd::fs: Fix ifdef wrapping for symbol.
2020-09-13 08:42:34 -07:00
Jason Volk
ed01ed05dc
ircd::db: Variable per-column write buffer derived from block size.
2020-09-12 22:31:06 -07:00
Jason Volk
614f9cb312
ircd::db: Enable asynchronous flush and compaction.
2020-09-12 07:03:21 -07:00
Jason Volk
afe0b96249
ircd::db: Support universal compaction by default; various write tweaks.
2020-09-12 07:03:21 -07:00
Jason Volk
cbeedf2cf7
ircd::ed25519: Add non-throwing failure state for instances; bool operators.
2020-09-10 23:50:47 -07:00
Jason Volk
da56bb1a9d
ircd::db: Allow more L0 files before trigger for larger combines.
2020-09-10 23:50:47 -07:00
Jason Volk
407202f85f
ircd::util: Improvements to timer tool; fix accumulator semantics; comments.
2020-09-10 23:50:47 -07:00
Jason Volk
f51ffb1530
ircd::db: Tweak block restart toward more conservative interval.
2020-09-10 12:45:44 -07:00
Jason Volk
84564aee5f
ircd::simd: Add a streaming transform boilerplate template for the common pattern.
...
ircd::simd: Add a streaming consumer boilerplate template for the common pattern.
ircd::json: Simplify w/ stream templates; update counter lane convention.
2020-09-09 04:47:27 -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
a68702249d
ircd::db: Add interface to count cache entries.
...
modules/console: Add count column to db cache cmd.
2020-09-08 22:27:06 -07:00
Jason Volk
023e1341a1
ircd::json: Only call _post_append() under nominal unwind.
2020-09-07 17:01:45 -07:00
Jason Volk
7eaf60c308
ircd::fs: Add interface to madvise on mapped file.
2020-09-07 17:01:45 -07:00
Jason Volk
97248b2f44
ircd::simd: Refactor typedefs to not require external header.
2020-09-06 00:11:17 -07:00
Jason Volk
82308ee4b3
ircd::simd: Consolidate sum_ templates into lateral template template.
2020-09-05 14:34:48 -07:00
Jason Volk
6577365d40
ircd::log: Remove unnecessary flush.
2020-09-04 21:09:49 -07:00
Jason Volk
ba564d6bdb
ircd: Tweak continue handler format string.
2020-09-04 21:09:49 -07:00
Jason Volk
c92127a8cd
ircd::utf16: Fix masking of unused lane result values.
2020-09-04 00:16:18 -07:00
Jason Volk
dd610a0d6b
ircd::json: Add faster backward branch without bitcounting in inner loop.
2020-09-03 21:14:43 -07:00
Jason Volk
68ffcea1fc
ircd::json: Additional document comments; minor cleanup.
2020-09-03 21:14:43 -07:00
Jason Volk
4a5d6066fe
ircd::utf: Simplify interfaces with weak specializations for vector widths; template inline.
2020-09-03 21:14:43 -07:00
Jason Volk
91485016e2
ircd::b64: Simplify error vector reduction; fix type to match specialization.
2020-09-02 00:14:14 -07:00
Jason Volk
f9e1b90b51
ircd::json: Add simd string component.
2020-08-31 16:21:19 -07:00
Jason Volk
16721a10be
ircd::b64: Use sum tool; fix explicit instantiation linkage issue on GCC.
2020-08-31 12:11:14 -07:00
Jason Volk
d64d038911
ircd::spirit: Adjust generator_state linkage for clang/gcc.
2020-08-31 12:09:31 -07:00
Jason Volk
8505635716
ircd::spirit: Use per-unit thread-local internal generator_state ptr.
2020-08-30 05:43:12 -07:00
Jason Volk
5104e284cb
ircd::spirit: Split into headers; move into directory; reorg definitions.
2020-08-29 17:38:54 -07:00
Jason Volk
e6e5b14b93
ircd::http: Assert enough buffer for valid chunk size value.
2020-08-28 05:18:57 -07:00
Jason Volk
8e7002a4b6
ircd::spirit: Eliminate buffer construction frequent allocation.
2020-08-28 05:18:57 -07:00
Jason Volk
1422b68666
ircd::spirit: Fix buffering strategy; fix align directive.
2020-08-28 05:18:57 -07:00
Jason Volk
a7b6001d49
ircd: Ⓜ️ :db: Additional debug for txn contents.
2020-08-28 05:18:57 -07:00
Jason Volk
64e5df1d86
ircd::fs: Use fd::map object for fincore() impl.
2020-08-28 05:18:57 -07:00
Jason Volk
f6475a2906
ircd::fs: Add interface to mmap fd.
2020-08-28 05:18:57 -07:00
Jason Volk
f5dd9debb6
ircd: Move magick support to core lib. ( #109 )
2020-08-24 03:04:05 -07:00
Jason Volk
9925fc919d
ircd: Adjust object order based on running theory of dependencies.
2020-08-24 03:03:59 -07:00
Jason Volk
2381f07d2f
ircd::ios: Assume direct dispatch; use epoch continuation closure.
2020-08-23 04:20:48 -07:00
Jason Volk
f16eb0b558
ircd::db: Use caller provided string buffer for debug.
2020-08-23 03:49:20 -07:00
Jason Volk
77f858d27d
ircd::simd: Use explicit instantiations w/ optimal conversions for lzcnt/tzcnt generation.
2020-08-23 02:32:54 -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
f8b9652555
ircd::mods: Call module fini after child reference counts incremented.
2020-08-23 01:56:37 -07:00
Jason Volk
4292365abf
ircd::log: Simplify epoch column value; fixed width.
2020-08-23 01:56:37 -07:00
Jason Volk
07830f1413
ircd::ctx: Integrate slice cycle counters with ios.
2020-08-21 10:43:04 -07:00
Jason Volk
a864cc73b2
ircd::ios: Fix object initialization order.
2020-08-21 10:43:04 -07:00
Jason Volk
7c583061f3
ircd::b64: Simplify padded length conditionals.
2020-08-21 10:43:04 -07:00
Jason Volk
3e2aff3a71
ircd::b64: Simplify trailing error negation and propagaton.
2020-08-21 06:21:49 -07:00
Jason Volk
d4a7acb8ea
ircd::b64: Simplify stream loop control.
2020-08-21 06:21:49 -07:00
Jason Volk
385ade0154
ircd::b64: Fixes for size computing constexprs.
2020-08-21 06:21:49 -07:00
Jason Volk
99acb1bc15
ircd::json: Suppress uninitialized warning from recursive grammar reference.
2020-08-21 06:20:26 -07:00
Jason Volk
246ae05881
ircd::rfc1459: Reorg grammar instantiations; visibility; initialization issues.
2020-08-21 06:20:26 -07:00
Jason Volk
eb43826d99
ircd::rfc3986: Consolidate visibility attributions; additional comments.
2020-08-21 06:20:26 -07:00
Jason Volk
c8deea2e8b
ircd::b64: Use standard alignas().
2020-08-12 02:55:35 -07:00
Jason Volk
ff19991163
ircd::b64: Optimize transforms; padding.
2020-08-12 01:52:16 -07:00
Jason Volk
6bca16c277
ircd::b64: Add decoding error condition logic.
2020-08-11 19:38:16 -07:00
Jason Volk
0a542e6424
ircd::b64: Improve loop control and range constraints.
2020-08-11 16:15:53 -07:00
Jason Volk
c941e13ed0
ircd::b64: Adjust for types most amenable to vectorizing lookup phase.
2020-08-11 15:50:52 -07:00
Jason Volk
3cf8b949bf
ircd::b64: Use typedef for static dictionaries.
2020-08-11 15:50:52 -07:00
Jason Volk
f3f441ac19
ircd::b64: Add parallel SIMD base64 decoder.
2020-08-11 15:50:52 -07:00
Jason Volk
d51082ef17
ircd::db: Handle SST file query errors per column.
2020-08-10 11:32:24 -07:00
Jason Volk
44bd60ea08
ircd::b64: Add encoding diction parameter; remove converters; reorg interface.
2020-08-10 06:19:48 -07:00
Jason Volk
7ff89fbd17
ircd: Split base64 and base58 into separate namespaces.
2020-08-10 04:56:28 -07:00
Jason Volk
3a887b4ca6
ircd::base: Optimize b64 table type; optimal lookup stride.
2020-08-09 04:36:47 -07:00
Jason Volk
abc41ca666
ircd::base: Indicate noexcept on apropos out-of-line declarations.
2020-08-09 04:36:47 -07:00
Jason Volk
1baa590d9c
ircd::fpe: Add scope_round tool.
...
ircd::fpe: Inline exception flag setter.
ircd::fpe: Add fesetround() wrapper.
2020-08-09 02:39:31 -07:00
Jason Volk
4a2adc4123
ircd::base: Remove allocated string convenience overloads; simplify interface.
2020-08-09 02:39:31 -07:00
Jason Volk
8a3f060387
ircd::base: Implement faster base64 encoder; various reorg; cleanup.
2020-08-09 01:42:15 -07:00
Jason Volk
4376f4e353
ircd::json: Eliminate explicit load/store intrinsics; cleanup typedefs.
2020-08-07 02:14:27 -07:00
Jason Volk
52d590b832
ircd::base: Simplify internal namespace related.
2020-08-06 20:21:45 -07:00
Jason Volk
59dd43917b
ircd::db: Add note for delta encoding option; minor cleanup [ci skip]
2020-08-05 23:08:51 -07:00
Jason Volk
65296be413
ircd::db::database::sst: Add checksum data to info collection.
2020-08-05 22:33:33 -07:00
Jason Volk
439eafa59f
ircd::db: Use default auto value for ttl setting.
2020-08-05 22:09:14 -07:00
Jason Volk
72c46fa9f5
ircd::db::database::sst: Simplify assignment for inherited.
2020-08-05 21:32:01 -07:00
Jason Volk
d5e59b95b9
ircd::db: Bump block table format version.
2020-08-05 20:34:32 -07:00
Jason Volk
32baa1a6bc
ircd: Indicate noexcept for lex_castable template suite.
2020-08-05 19:12:22 -07:00
Jason Volk
9f09eb6581
ircd::json::value: Inline trivial indirections.
2020-08-05 17:27:54 -07:00
Jason Volk
df619e6010
ircd::db::column: Indicate noexcept for various out-of-lines.
2020-08-04 23:30:19 -07:00
Jason Volk
e3cf942df3
ircd::net::dns::resolver: Slight decrease for default retries conf.
2020-08-02 06:45:46 -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
59197ee2d5
ircd::ios: Add epoch history in circular buffer for profiling w/ console cmd.
2020-08-02 05:45:35 -07:00
Jason Volk
e36354cff0
ircd::stringops: Minor cleanup.
2020-08-02 01:30:49 -07:00
Jason Volk
5f28136e2d
ircd::stringops: Simplify indexof().
2020-08-02 00:37:40 -07:00
Jason Volk
b3c4583dd0
ircd::cbor: Remove cruft; collapse directory for now.
2020-07-31 21:34:45 -07:00
Jason Volk
84767a1859
ircd::mods: Various fixes for proper recursive unload ordering.
2020-07-31 20:25:16 -07:00
Jason Volk
2e35ec3d77
Revert _SC_CLK_TCK removal for convenience and exotic systems.
...
This reverts commit 1c1ceeacba
.
2020-07-31 19:17:06 -07:00
Jason Volk
2f6f2af06f
Reserve EXTRA_* flag sets for user.
...
configure: Move unit configuration section above application settings.
configure: -fasm-blocks not yet useful without GCC parity.
2020-07-30 06:38:51 -07:00
Jason Volk
2e1fc0c234
ircd::db: Inline some trivial default comparators.
2020-07-28 01:22:02 -07:00
Jason Volk
f2c182b403
ircd::db: Set max_open_files=-1 when required for secondary mode.
...
ircd:Ⓜ️ :dbs: Condition option from being set in slave/secondary mode.
ircd::db: Skip snapshot creation in slave/secondary mode (required).
ircd::db: Slave implies read-only.
2020-07-28 00:38:46 -07:00
Jason Volk
41db97fec0
ircd::db: Make default comparators noexcept.
2020-07-28 00:38:46 -07:00
Jason Volk
a0ae5162eb
ircd::db: Add preliminary enum case for future use.
2020-07-25 09:10:49 -07:00
Jason Volk
ae2bc801f9
ircd::json: Optimize alternative order.
2020-07-24 22:37:30 -07:00
Jason Volk
285cdf6afc
ircd::db: Update include for checksum related interposition.
2020-07-24 18:59:41 -07:00
Jason Volk
a46382b285
ircd::db::database::allocator: Fix assertion ifdef condition.
2020-07-23 13:24:43 -07:00
Jason Volk
1cf03d8608
ircd::json: Simplify trailing loop related.
2020-07-22 05:00:36 -07:00
Jason Volk
92324197b3
ircd::json: Remove unnecessary reassignment; restricted reference.
2020-07-22 03:16:14 -07:00
Jason Volk
1c1ceeacba
ircd::info: Remove cruft.
2020-07-22 02:00:05 -07:00
Jason Volk
898f7980f6
ircd::json: Optimize string character grammar.
2020-07-21 00:38:08 -07:00
Jason Volk
bf17eb196f
ircd::log: Remove override condition for * facility to stdout.
2020-07-20 22:31:41 -07:00
Jason Volk
479c3f62ef
ircd::json: Minor reorg.
2020-07-17 18:59:51 -07:00
Jason Volk
3a70943b94
ircd::simd: Split bit manipulations suites to headers; renames.
2020-07-17 16:46:43 -07:00
Jason Volk
ba5a97821c
ircd::json: Reduce string serialized/stringify branch complex and improve layout.
2020-07-15 21:22:54 -07:00
Jason Volk
1fa358d9a8
ircd::utf: Add glue for missing GCC vector scaling.
2020-07-15 13:39:59 -07:00
Jason Volk
566029bdb0
ircd::utf16: Remove cruft.
2020-07-14 18:20:08 -07:00
Jason Volk
4184309ff2
ircd::info: Add avx512f indicator; remove cruft; tweak info dump string.
2020-07-12 11:17:41 -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
2b930eb4b2
ircd::json: Disable profiling counters by default.
2020-07-11 17:57:33 -07:00
Jason Volk
ef778b07bf
ircd::info: Detect sse4a; guest.
2020-07-11 13:49:08 -07:00
Jason Volk
85b550597c
ircd::info: Remove unnecessary indication.
2020-07-10 23:58:07 -07:00
Jason Volk
d371fba034
ircd::db: Use reference to prevent string copy.
...
ircd:Ⓜ️ Fix reference/copy related warnings in clang-10.
2020-07-10 23:58:07 -07:00
Jason Volk
31bd80a6d1
Consolidate application of -flax-vector-conversions.
2020-07-10 20:12:33 -07:00
Jason Volk
72a61a7426
ircd::utf: Adjust vector types/syntaxes for GCC.
...
ircd::json: Adjust vector types for GCC.
2020-07-10 02:41:02 -07:00
Jason Volk
2f9aa15fc0
ircd::utf: Eliminate recasting for shift.
2020-07-09 19:45:42 -07:00
Jason Volk
27fcfb3175
ircd::db: Align column cache allocations to block size.
2020-07-08 16:27:27 -07:00
Jason Volk
59ce393581
ircd::db::allocator: Update alignment defaults.
2020-07-08 16:27:27 -07:00
Jason Volk
f8e32477f8
ircd::json: Fix incorrect masking from surrogate pair.
2020-07-06 17:31:04 -07:00
Jason Volk
b80b06135b
ircd::json: Minor reorg.
2020-07-06 17:31:04 -07:00
Jason Volk
b32d2f07f5
Relax vector conversions in translation units; enforce in headers.
2020-07-06 17:31:04 -07:00
Jason Volk
a021b496cd
ircd::json: Use condition around __builtin_assume().
2020-07-05 05:47:23 -07:00
Jason Volk
900f820a8c
ircd::json: Use unicode surrogate for null escape stringify.
2020-07-05 03:54:03 -07:00
Jason Volk
687ce6efb2
ircd::json: Fix iteration increments; counting.
2020-07-05 03:54:03 -07:00
Jason Volk
60a8d009bb
ircd::utf16: Add surrogate pair decode to aligned_next routine.
2020-07-05 01:35:36 -07:00
Jason Volk
255b23ed7d
ircd::json: Eliminate maskmove; use matching temporal store.
2020-07-03 20:11:02 -07:00
Jason Volk
6a93a121f3
ircd::json: Optimize serialized(value) string case.
2020-07-03 18:19:13 -07:00
Jason Volk
0e6a6ea0b1
ircd::json: Replace char generator w/ new vectorized string streaming. ( fixes #158 ) ( fixes #159 )
2020-07-03 16:35:28 -07:00
Jason Volk
76a16469fb
ircd::utf: Internal template for utf8::encode() w/ additional lane choices for interface.
2020-07-03 14:17:36 -07:00
Jason Volk
d6d4c0b80a
ircd::utf16: Add aligned escaped hex surrogate decoder.
2020-07-03 13:19:57 -07:00
Jason Volk
c9c61124e7
ircd::utf8: Add multiple lane overloads for length(); internal template; minor comments.
2020-07-02 16:38:59 -07:00
Jason Volk
e3e6bb8dbf
ircd::utf16: Additional surrogate scan tools; minor reorg interface.
2020-07-01 07:03:11 -07:00
Jason Volk
75ac474e05
ircd::utf16: Add escaped surrogate scan tool.
...
ircd::utf16: Add surrogate mask routine; minor interface rename.
2020-06-28 19:14:44 -07:00
Jason Volk
abea8ad5b8
ircd::simd: Use value arguments for optimal calling convention.
2020-06-28 18:22:18 -07:00
Jason Volk
7254d3c945
ircd::simd: Fix incorrect number of lanes printed for vector type.
2020-06-28 15:07:35 -07:00
Jason Volk
bbaeb09c2d
ircd::utf: Add unpacked decode; de-template for linkage; minor reorg.
2020-06-27 20:03:59 -07:00
Jason Volk
b94c5d370f
ircd::utf: Move definitions out-of-line for now.
2020-06-27 18:10:36 -07:00
Jason Volk
ac21ebdc90
ircd::simd: Expose SIMD utils to standard include group; split header into dir.
2020-06-27 16:31:57 -07:00
Jason Volk
ad8f3bd878
ircd::icu: Add encoding transform to suite; minor rename.
2020-06-25 18:36:18 -07:00
Jason Volk
1ad2a1546a
ircd::simd: Simplify string/debug interface.
2020-06-25 12:54:38 -07:00
Jason Volk
001bd12287
ircd::simd: Add lane number constant tables.
2020-06-24 15:16:47 -07:00
Jason Volk
3490eb89e8
ircd::json: Consistent quoted inputs to the printer. (related ea1c0dcae7
)
2020-06-24 11:45:15 -07:00
Jason Volk
526271e8cd
ircd::simd: Add preliminary debug print utils.
2020-06-24 11:00:11 -07:00
Jason Volk
d456a42cdd
ircd::json: Add stats items counting calls and cycles on input and output.
2020-06-24 11:00:11 -07:00
Jason Volk
c99ae124f4
ircd::json: Relax attributes on grammar templates.
2020-06-24 09:27:23 -07:00
Jason Volk
ff1d2c938c
ircd::json: Simplify printer invocation template overloading.
2020-06-24 08:57:50 -07:00
Jason Volk
57e70512d0
ircd::json: Minor cleanup; simplify conditionals.
2020-06-23 00:55:16 -07:00
Jason Volk
ea1c0dcae7
ircd::json: Pass all string input through the grammar.
2020-06-23 00:54:48 -07:00
Jason Volk
613702bc13
ircd::allocator::je: Fix ifdef for grabbing ABI information.
2020-06-20 22:01:57 -07:00
Jason Volk
e26b046940
ircd::json: Optimize character dfa w/ de-aliased output ref.
2020-06-20 05:41:14 -07:00
Jason Volk
da1f3e0d1c
ircd: Remove legacy locale header / unit.
2020-06-20 05:41:14 -07:00
Jason Volk
71eba6bf45
ircd::icu: Use better namespace name; export to ircd.
2020-06-20 05:41:14 -07:00
Jason Volk
1c9ee622e5
ircd::db: Provide database stats instance for default column cache requirement.
2020-06-20 05:41:14 -07:00
Jason Volk
63a7554c4a
ircd::json: Ensure output is sorted on object::member array stringify; hoist tls buffers.
2020-06-20 05:41:14 -07:00
Jason Volk
28e3e6b3fd
ircd::icu: Add u8/16 util suite; add char32_t name information interface.
...
ircd::icu: Add name to character inversion.
ircd::icu: Add category and block queries.
ircd::icu: Add property reflections.
ircd::icu: Add tolower()/toupper().
ircd::icu: Add u8 transform w/ diagnostic.
2020-06-19 08:29:31 -07:00
Jason Volk
c41c632e94
ircd::db: Remove trailing newline in ABI version string.
2020-06-19 03:04:55 -07:00
Jason Volk
daa49dde51
ircd: Add icu support if available.
2020-06-19 03:04:55 -07:00
Jason Volk
6bcd19325a
ircd::resource: Add derror before terminating client; soften dc type.
2020-06-18 20:41:09 -07:00
Jason Volk
ba4c98d7e8
ircd::db: Minor remove cruft. (related 942e8330e6
)
...
ircd::ios: Minor cleanup.
2020-06-18 20:07:40 -07:00
Jason Volk
22f4fd5046
ircd::db: Add fwd decl and accoutrements for rocksdb::PinnableSlice.
2020-06-18 20:07:40 -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
b08e161e27
ircd::fpe: Inline errors_handle; minor include reorder.
2020-06-18 01:23:01 -07:00
Jason Volk
59829f1a59
ircd::json: Relax number_frac limit more digits.
2020-06-17 23:22:39 -07:00
Jason Volk
4371d803a4
ircd: Move fpe out of util.
2020-06-17 23:01:23 -07:00
Jason Volk
43c6727492
ircd::json: Replace number rule w/ non-casting grammar.
2020-06-17 22:08:20 -07:00
Jason Volk
7e3c1bf591
ircd::db: Increment per-column stats for items from 54996d2f29
.
2020-06-17 22:08:20 -07:00
Jason Volk
c8e11b7ffc
ircd::db: Disable stats instance for unused default column.
2020-06-17 20:57:29 -07:00
Jason Volk
4b20747e06
ircd::stats: Add buffer-based stringifier to interface; simplify.
2020-06-17 20:28:05 -07:00
Jason Volk
338cec879a
ircd::db::database::stats: Incorporate column into item name scheme.
2020-06-17 19:24:02 -07:00
Jason Volk
54996d2f29
ircd::db: Additional custom stats tickers for PinnableSlice copy and referencing.
2020-06-17 19:24:00 -07:00
Jason Volk
c0990e0c0b
ircd::db::database::stats: Add ircd::stats::item's for rocksdb tickers. ( #31 )
2020-06-17 19:20:47 -07:00
Jason Volk
c0d2fe20bb
ircd::stats: Refactor subsystem template hierarchy and approach. ( #31 )
2020-06-17 18:12:19 -07:00
Jason Volk
e2654ddaed
ircd::db: Add feature define for direct-io multiget; various cleanup.
2020-06-16 07:27:50 -07:00
Jason Volk
597052e5c0
ircd::db: Simplify internal _read() interface to single Get().
2020-06-15 21:55:23 -07:00
Jason Volk
2cf9dacb70
ircd::db: Remove obsoleted DeleteScheduler interpositions.
2020-06-15 04:08:48 -07:00
Jason Volk
075ef11386
ircd::db::database::env: Add errorlog and assertion on MultiRead() result.
2020-06-14 22:24:00 -07:00
Jason Volk
942e8330e6
ircd::db: Indicate DEBUG_PREFETCH is also available for verbose debuglog.
2020-06-14 22:05:15 -07:00
Jason Volk
59bb3a5886
ircd::db: Interpose rocksdb::ThreadLocalPtr for ircd::ctx.
2020-06-14 22:05:15 -07:00
Jason Volk
aa096c93bd
ircd::db: Cleanup MultiGet() constexpr branches to parallelize.
2020-06-14 22:05:15 -07:00
Jason Volk
bd6f60e02e
ircd::db: Interpose rocksdb::NewSstFileManager() fixes.
2020-06-14 17:20:16 -07:00
Jason Volk
d9827f3daa
ircd::db::database::env: Branch for exception first in result loop.
2020-06-14 03:04:59 -07:00
Jason Volk
7fde55a4b5
ircd::info::version: Handle all closure errors to ensure construction.
2020-06-13 20:10:26 -07:00
Jason Volk
58bcab259f
ircd::allocator::je: Add query for ABI version.
2020-06-13 18:56:10 -07:00
Jason Volk
2b3066a2a4
ircd: Simplify switch; fix missing runlevel case.
2020-06-13 00:03:19 -07:00
Jason Volk
a948b5f00f
ircd::net::acceptor: Disregard interrupt when acceptor closed.
2020-06-12 19:18:49 -07:00
Jason Volk
cfba2b52c9
ircd::run: Add additional UNLOAD runlevel on shutdown after QUIT.
2020-06-12 18:41:30 -07:00
Jason Volk
2a5c234d76
ircd::http: Assert supplied header string is terminated by caller.
2020-06-12 18:18:57 -07:00
Jason Volk
09fe270c54
ircd::http: Add status category enum; move static grammars out of function; minor reorg enums.
2020-06-12 17:01:09 -07:00
Jason Volk
5ede78afe8
ircd::json: Memoize query for type.
2020-06-11 17:09:56 -07:00
Jason Volk
afcb22b726
ircd::db: Add support #ifdefs for MultiGet; add fallback path.
2020-06-11 17:09:56 -07:00
Jason Volk
5593ae3a60
ircd::db: Additional parallel seek log metric; assertion tool.
2020-06-11 17:09:56 -07:00
Jason Volk
c2562d7dfa
ircd::info: Query for various clock characteristics of the runtime.
2020-06-11 17:09:56 -07:00
Jason Volk
39e777e88f
ircd::json: Add non-parsing number grammar for type derivation for now.
2020-06-11 17:09:55 -07:00
Jason Volk
24cb29d64c
ircd::json: Relax expensive type query in serialized() suite.
2020-06-11 09:49:33 -07:00
Jason Volk
eb00134100
ircd::util: Move syscall() templates out of util; minor reorg includes.
...
ircd::sys: Add abstract sysfs tool and template from fs::dev.
2020-06-11 09:49:33 -07:00
Jason Volk
d9bfdc9678
ircd::db: Reenable index compression for compressed columns.
2020-06-11 03:51:49 -07:00
Jason Volk
35d4ee811b
ircd::db: Add preliminary support for secondary-mode if available.
2020-06-11 03:51:49 -07:00
Jason Volk
b59337eb78
ircd::spirit: Consolidate entry to spirit through wrapper templates.
...
ircd::spirit: More aggressive inlining of interface templates; symbol visibility
2020-06-11 03:51:49 -07:00
Jason Volk
d42126693b
ircd::fs::dev: Fix device size calculation; cleanup constants; improve cmd output.
2020-06-10 22:36:28 -07:00
Jason Volk
5b22beaae7
ircd::db: Add define for rocksdb timestamp feature versions.
...
ircd::db: Add warning when feature not available.
2020-06-10 22:36:28 -07:00
Jason Volk
65760fc93a
ircd::db: Prevent use of delta encoding in SST files for zero-copy pinnable slices.
2020-06-10 22:36:28 -07:00
Jason Volk
7a53afc4c8
ircd::db: Add delta encoding indicator to SST info; add to console cmd output.
2020-06-10 22:36:28 -07:00
Jason Volk
c037519246
ircd::db: Add additional recovery mode if supported.
2020-06-10 22:36:27 -07:00
Jason Volk
b68b4d113a
ircd::db: Add conf item to disable automatic compactions.
...
construct: Add -nocompact program option.
2020-06-10 22:36:27 -07:00
Jason Volk
0f466e6b19
ircd::db: Add missing include to db_fixes.cc.
2020-06-09 05:14:43 -07:00
Jason Volk
4049ea0127
ircd: Use -isystem for some rocksdb includes triggering warnings on GCC.
2020-06-09 05:14:43 -07:00
Jason Volk
2f1523ffb2
ircd::db: Fix coderot under RB_DEBUG_DB_SEEK.
2020-06-09 05:14:43 -07:00
Jason Volk
c0c9c2c4f0
ircd::db: Add parallel has() to column interface.
2020-06-09 04:37:51 -07:00
Jason Volk
40c62b085b
ircd::fs: Add syscall warning timers on some operations.
2020-06-08 21:28:07 -07:00
Jason Volk
fc9c952ba8
ircd::db: Add parallel read suite to internal interface.
2020-06-08 21:28:07 -07:00
Jason Volk
4a1f04823f
ircd::db: Improve request pool initialization and size determination.
2020-06-08 17:16:07 -07:00
Jason Volk
7a87f2eda9
ircd::conf: Fix interface argument inconsistency.
2020-06-08 17:16:07 -07:00
Jason Volk
84491464d6
ircd::resource: Split mime and content length nego branches into functions.
2020-06-08 16:13:00 -07:00
Jason Volk
0cb9e74cc6
ircd::resource::method: Add conf items for option defaults.
2020-06-08 16:13:00 -07:00
Jason Volk
bc3ad3f89c
ircd::fs::dev: Eliminate the static map; refactor interface; add console cmd.
2020-06-08 16:13:00 -07:00
Jason Volk
27d52c660b
ircd::fs::opts: Add an option to suppress internal error logging on some operations.
2020-06-08 14:10:13 -07:00
Jason Volk
64c82829d8
ircd::fs::dev: Use defaulting values rather than exceptions for sysfs() suite.
...
ircd::fs::dev: Stop exception propagation on per block device during discovery.
2020-06-07 14:30:50 -07:00
Jason Volk
2031966072
ircd::server: Add tag completed counters on link and peer w/ report.
2020-06-07 07:53:37 -07:00
Jason Volk
1e788c09f3
ircd::db: Sort feature defines.
2020-06-07 05:48:07 -07:00
Jason Volk
6968f24921
ircd::db: Add compaction period parameter to descriptor.
2020-06-07 05:46:24 -07:00
Jason Volk
6e5da0dee6
ircd::fs::aio: Add a default max_events fallback; assert non-zero.
2020-06-07 03:40:38 -07:00
Jason Volk
b8521117c1
ircd::db::row: Add valid_all() to interface.
2020-06-07 03:26:31 -07:00
Jason Volk
839998e474
ircd::fs::aio: Initialize context with parameters sampled from devices.
...
ircd::fs: Simplify init infolog related.
2020-06-07 01:51:19 -07:00
Jason Volk
22eb9b514b
ircd::fs::dev: Add block device information system w/ sysfs.
2020-06-07 01:51:19 -07:00
Jason Volk
680c29601e
ircd::fs::dev: Cleanup returned string data from sysfs read.
2020-06-07 01:51:19 -07:00
Jason Volk
4d98f8fa8d
ircd::fs: Split fs::dev definitions into unit.
2020-06-07 01:51:19 -07:00
Jason Volk
9ee4afd560
ircd::db: Simplify and cleanup for cached()/has().
2020-06-07 01:51:19 -07:00
Jason Volk
6ee817aec8
ircd::db: Add internal interface around PinnableSlice queries.
2020-06-07 01:51:19 -07:00
Jason Volk
8b7fe333ec
ircd::db: Add valid(rocksdb::Status) to suite.
2020-06-07 01:51:19 -07:00
Jason Volk
61d0165883
ircd::server: Fix informal scans for fragmented head terminator.
2020-06-07 01:51:19 -07:00
Jason Volk
c10b7a76bf
ircd::server: Use namespaced attributes to eventually avoid warnings.
2020-06-07 01:51:19 -07:00
Jason Volk
ffbfe40f0f
ircd::fs::info: Attempt to get sysconf for AIO_MAX w/o exception.
...
ircd::fs::aio: Improve default max events values for now.
2020-06-05 16:32:57 -07:00
Jason Volk
58d15e6852
ircd::spirit: Add template option for truncation behavior to generate.
...
ircd::fmt: Add internal generate template; enable truncation.
2020-06-05 12:15:11 -07:00
Jason Volk
619ecb4b5b
ircd::fmt: Simplify ternary; minor unpack statements; cleanup.
2020-06-04 21:00:11 -07:00
Jason Volk
758ff8c4b7
ircd::server: Improve error message.
2020-06-04 18:11:25 -07:00
Jason Volk
a4447054e5
ircd::db: Fix O_DIRECT test file path mismatch regression.
2020-06-04 15:51:48 -07:00
Jason Volk
e8cb1cbec1
ircd::logger: Remove unnecessary cruft.
2020-06-04 15:41:11 -07:00
Jason Volk
0a44918ee2
ircd::db: Recombine db.h; split defines into header.
2020-06-04 15:41:11 -07:00
Jason Volk
774cd6c7c2
ircd::db: Split allocator related into unit.
2020-06-04 15:38:38 -07:00
Jason Volk
277d809ff4
ircd::info: Remove redundant debuglog output; replace w/ relevant rlimit.
2020-06-04 14:41:39 -07:00
Jason Volk
e12774595c
ircd::db: Disable cache lock feature when valgrinding.
2020-06-04 00:25:43 -07:00
Jason Volk
a70a6164be
ircd::net: Convey ALPN selection to socket instance.
2020-05-30 23:19:03 -07:00
Jason Volk
47d1ac40c3
ircd::net::acceptor: Carry pointer to our socket instance in ssl opaque.
2020-05-30 22:47:03 -07:00
Jason Volk
5fa1e524a4
ircd::openssl: Add interface wrapping get/set app_data.
2020-05-30 22:17:11 -07:00
Jason Volk
4d72b673a7
ircd::allocator::je: Add thp to our default options.
2020-05-30 19:28:39 -07:00
Jason Volk
9d06af1dbe
ircd::client: Minor rename.
2020-05-30 19:28:39 -07:00
Jason Volk
635cccdb9d
ircd::db: Fix integer literal for comparison.
2020-05-30 18:15:03 -07:00
Jason Volk
cdd1fc2a9c
ircd::fs::aio: Relax assertion.
2020-05-30 17:36:47 -07:00
Jason Volk
23b0674051
ircd::fs::aio: Fix request object semantics and immobility guarantees.
2020-05-30 16:50:38 -07:00
Jason Volk
1a0ee0ece4
ircd::db: Add missing #ifdefs covering rocksdb 5.x (thanks @grinapo).
2020-05-30 03:59:10 -07:00
Jason Volk
6b3ab64aae
ircd::db: Remove unused cache_arena handle. (related 77b0fc9e1e
)
2020-05-30 03:55:41 -07:00
Jason Volk
60b28ade71
ircd::cbor: Use non-reference value for shift integer. ( fixes #154 )
2020-05-30 00:16:46 -07:00
Jason Volk
a61a67961a
ircd::db: Lock database cache extents in RAM if possible. ( closes #144 )
2020-05-29 23:40:24 -07:00
Jason Volk
489cf7a560
ircd::allocator: Add a graceful getter/setter for RLIMIT_MEMLOCK.
2020-05-29 23:40:24 -07:00
Jason Volk
77b0fc9e1e
ircd::db: Elaborate all extent hooks; move cache_arena to database::allocator.
2020-05-29 23:40:24 -07:00
Jason Volk
67ddcf074a
ircd::db: Add a global cache arena w/ lifetime of subsystem.
2020-05-29 23:40:24 -07:00
Jason Volk
085b1acfe9
ircd::db: Add jemalloc arena and flags support to allocators.
2020-05-29 23:40:24 -07:00
Jason Volk
2e5a4daf76
ircd::allocator::je: Ensure truncation of mallctl results.
2020-05-29 23:40:24 -07:00
Jason Volk
6beb93b1c1
ircd::spirit: Improve pseudo-buffering; generator state and interface related.
2020-05-28 20:09:14 -07:00
Jason Volk
d9f8e0d0ab
ircd::json: Eliminate bool return for printer call.
2020-05-27 20:03:03 -07:00
Jason Volk
8b3760b57f
ircd::spirit: Minor rename error buffer.
2020-05-27 20:03:02 -07:00
Jason Volk
d58921f756
ircd::spirit: Add exceptions; move epsilon into generate abstraction; minor cleanup.
2020-05-27 20:03:02 -07:00
Jason Volk
112185c213
ircd::rfc3986: Use generator template for encode().
2020-05-26 04:54:52 -07:00
Jason Volk
1aa83a22fb
ircd::fmt: Use generate template for fmt grammars.
2020-05-26 04:54:52 -07:00
Jason Volk
b698f80067
ircd::spirit: Abstract common generator call into template.
2020-05-26 04:54:52 -07:00
Jason Volk
210dc94521
ircd::json: Add parenthesis around comparison.
2020-05-26 00:28:15 -07:00
Jason Volk
188e9b1c81
ircd::json: Rearrange branch blocks.
2020-05-26 00:04:09 -07:00
Jason Volk
f2f3e9a8a5
ircd::json: Workaround buffer_sink action.
2020-05-26 00:04:04 -07:00
Jason Volk
53b304cb7a
ircd::json: 🖨️ Make return an lvalue for leeward access.
2020-05-25 01:39:15 -07:00
Jason Volk
acd0b71ccc
ircd::allocator: Implement profile counters in mock handlers.
2020-05-25 00:27:31 -07:00
Jason Volk
626df7a4df
ircd::allocator: Update profiling operator delete w/ noexcept.
2020-05-25 00:26:40 -07:00
Jason Volk
4b7dcd48a6
ircd::json: Optimize sequential alternative for individual characters.
2020-05-24 22:06:18 -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
e5517735c3
ircd::json: Replace phrase_parse in type suite.
...
ircd::json: Tweak whitespace rules in type suite grammar.
2020-05-24 19:33:32 -07:00
Jason Volk
31dfedbcd7
ircd::json: Add suite for type optimized type query; refactor grammars.
2020-05-24 19:03:00 -07:00
Jason Volk
b137f59c5e
ircd::json: Move type determination grammars out of primary input grammar.
2020-05-24 18:33:20 -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
4ca481a5fc
ircd::json: Use switch statement over enumeration in character_dfa. (related 24d73428c8
)
2020-05-24 16:33:38 -07:00
Jason Volk
24d73428c8
ircd::json: Fix overzealous escape cases. ( fixes #152 ) ( fixes #17 )
2020-05-24 15:32:40 -07:00
Jason Volk
d434c69755
ircd::fs: Improve correctness of fixes; isolate timer. (related 56219f9ea
)
2020-05-24 15:32:40 -07:00
Jason Volk
ba3f3fc09a
ircd::client: Assert socket finish state during wait_all().
2020-05-24 15:32:40 -07:00
Jason Volk
9189bf4af9
ircd::log: Add coarse ready condition for static init issues; minor cleanup.
2020-05-22 20:30:52 -07:00
Jason Volk
c7b473485b
ircd::allocator: Add argument for options string to info() interface.
2020-05-22 16:37:05 -07:00
Jason Volk
f069cdfca0
ircd::allocator::je: Add noexcept for stats callback.
2020-05-22 16:37:05 -07:00
Jason Volk
6d14758a8a
ircd: Elide static destructor emissions w/ clang.
2020-05-22 16:37:05 -07:00
Jason Volk
4d5c006003
ircd::fs: Simplify read suite overloads.
2020-05-20 20:40:48 -07:00
Jason Volk
a1de7e8e08
ircd::fs::fd: Replace open(2) with openat(2); additional constructor.
2020-05-20 20:40:48 -07:00
Jason Volk
56219f9eaa
ircd::fs::fd: Fix constructor exception safety; cleanup.
2020-05-20 18:28:42 -07:00
Jason Volk
24707647b5
ircd::fs: Improve internal posix flag translation utils.
2020-05-20 18:28:42 -07:00
Jason Volk
82485b9aa9
ircd::fs: Minor cleanup.
2020-05-20 18:28:42 -07:00
Jason Volk
875b8a01f1
ircd::json: Minor cleanup.
2020-05-20 17:16:23 -07:00
Jason Volk
8c2b203426
ircd::json: Simplify grammar instantiations.
2020-05-19 16:12:08 -07:00
Jason Volk
ec0471934a
ircd::json: Minor simplifications.
...
ircd::rfc3986: Minor simplifications.
ircd::fmt: Minor cleanup.
2020-05-19 15:55:18 -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
92a4322f3a
ircd::json: Assertions on iterator increments.
2020-05-18 18:13:41 -07:00
Jason Volk
bb52cbd2d1
ircd::rfc3986: Move port number extraction grammars out of function static.
2020-05-18 18:12:34 -07:00
Jason Volk
0cb7378793
ircd::rfc3986: Move static host grammars outsdie of function.
2020-05-18 18:12:34 -07:00
Jason Volk
6e89ee4289
ircd::json: Consolidate validation grammars; optimize for boolean rule.
2020-05-18 18:12:34 -07:00
Jason Volk
005d1226b2
ircd::json: Consolidate type grammars; move outside functions; apply visibility.
2020-05-18 18:12:34 -07:00
Jason Volk
648d6e42b4
ircd::json: Inline vector::const_iterator related.
2020-05-18 18:12:34 -07:00
Jason Volk
d870385e6c
ircd::json: Move vector static grammars outside function; apply visibility.
2020-05-18 18:12:34 -07:00
Jason Volk
1b90964630
ircd::json: Move array static grammars outside functions; apply visibility; remove branch.
2020-05-18 16:51:50 -07:00
Jason Volk
021e875b29
ircd::json: Reorg object grammars; fix visibility attribute; remove branch on begin().
2020-05-18 15:28:35 -07:00
Jason Volk
f4fe10ba38
ircd::rfc3986: Add expectations for host and port parsers.
2020-05-14 11:05:42 -07:00
Jason Volk
a2f6acd73f
ircd::json: Reduce branch mispredictions in linear_any alternative parser.
2020-05-13 05:01:22 -07:00
Jason Volk
8bc371d7fb
ircd::db::txn: Fix has() queries.
2020-05-12 22:27:53 -07:00
Jason Volk
fde100bb93
ircd::db: Move callback into handler; fixes errors from reference member.
2020-05-12 22:27:53 -07:00
Jason Volk
db4e0af8a9
ircd::tokens: Modernize all remaining interface delims to string_view.
2020-05-11 16:31:48 -07:00
Jason Volk
5e0d5237a9
ircd::tokens: Alter behavior of string delimiter tokens() definitions.
2020-05-11 16:31:48 -07:00
Jason Volk
890dc6f003
ircd::tokens: Add a string separator functor.
2020-05-11 16:31:48 -07:00
Jason Volk
109c30a76c
ircd: Apply devirtualization optimizations for clang.
...
matrix: Apply devirtualization optimizations for clang.
2020-05-11 01:58:25 -07:00
Jason Volk
226c8702e9
ircd::json: Additional internal visibilities.
2020-05-11 01:56:47 -07:00
Jason Volk
aae7f7e545
ircd::allocator::je: Add runtime query for linked library at initialization.
2020-05-10 18:53:45 -07:00
Jason Volk
708bba4bf9
ircd::allocator::je: Create and move relevant into actual allocator::je namespace.
2020-05-10 18:53:45 -07:00
Jason Volk
bab494cafd
ircd::allocator::je: Simplify definition #ifdef related.
2020-05-10 18:53:45 -07:00
Jason Volk
5a1868f9eb
ircd::fs: Remove incorrect brace array initialization.
2020-05-10 17:47:09 -07:00
Jason Volk
fe3c051f8a
ircd::db: Fix missing #ifdefs for cache allocator.
2020-05-10 03:02:25 -07:00
Jason Volk
ca18ea1c17
construct: Redirect error propagation and startup failure.
2020-05-10 03:02:25 -07:00
Jason Volk
90bd13a0fe
ircd::db::database::env: Use advise fd open option; remove direct call.
2020-05-09 18:48:21 -07:00
Jason Volk
8c15247efc
ircd::fs: Add options to fadvise() on fd open().
2020-05-09 18:42:05 -07:00
Jason Volk
88fe138d12
ircd::prof: Add symbol definition for psi::supported=false on non-linux platforms.
2020-05-09 17:28:34 -07:00
Jason Volk
32192bf439
ircd::prof::psi: Additional state relative to last refresh.
2020-05-09 17:28:34 -07:00
Jason Volk
19f4917d9f
ircd::prof::psi: Add threshold triggering mechanism to interface.
2020-05-09 17:28:34 -07:00
Jason Volk
05e384d315
ircd::prof::psi: Add interface to poll for PSI linux>=5.2. ( #144 )
2020-05-09 17:28:34 -07:00
Jason Volk
a0476b8a9c
ircd::fs: Add a select()'ish multi-fd yielding device.
2020-05-09 17:28:34 -07:00
Jason Volk
1720aea7e2
ircd::fs: Add derror log msg w/ path on fd open system_error.
2020-05-09 17:28:34 -07:00
Jason Volk
1c11e6b2c1
ircd::db: Minor cleanup.
2020-05-08 14:12:19 -07:00
Jason Volk
47800ba094
ircd::allocator: Add interface to fetch some resource limits.
2020-05-08 00:44:13 -07:00
Jason Volk
516d7e8ad7
ircd::db::database::allocator: Support aligned allocations.
...
ircd::db::database::allocator: Implement callback for true allocated size hint.
2020-05-08 00:05:46 -07:00
Jason Volk
f77f36904e
ircd::db::database::cache: Fix construction of the proxy w/ custom allocator.
2020-05-07 21:06:08 -07:00
Jason Volk
214c2e1b4f
ircd::db::database::cache: Remove shared_from_this.
2020-05-07 19:43:37 -07:00
Jason Volk
15cd10f843
ircd::db::database: Use scoped tag; fix allocator passed to cache; LRUCacheOptions; final override.
2020-05-07 17:58:38 -07:00
Jason Volk
2c7f81d1e1
ircd:;db: Disambiguate KeyMaxExist() overload for rocksdb 6.10.0.
2020-05-07 17:05:12 -07:00
Jason Volk
efdd49ed3a
ircd::db::fixes: Fix missing condition for older interposed definition.
2020-05-07 17:01:50 -07:00
Jason Volk
2c10024900
rocksdb::port: Zero-initialize to the real width.
2020-05-07 04:08:35 -07:00
Jason Volk
ddc404d217
ircd: Interpose rocksdb::DeleteDBFile() good thru RocksDB v6.8.1.
2020-05-07 04:08:35 -07:00
Jason Volk
0e84f4cb86
ircd: Use granular __has_includes() for db_fixes; support latter rocksdb reorg.
2020-05-07 04:08:34 -07:00
Jason Volk
fb7a18e0dd
ircd::ctx::posix: Add macro to build mocks; distribute near definitions; minor reorg.
2020-05-07 00:28:27 -07:00
Jason Volk
e7ff7e0568
ircd::db::env: Implement rocksdb MultiRead() environment backend.
2020-05-07 00:28:27 -07:00
Jason Volk
aaa5e785aa
ircd::fs: Implement synchronous parallel-read interface.
2020-05-07 00:28:27 -07:00
Jason Volk
c683365341
ircd::fs::aio: No default zero initialization for aio::request used in array.
2020-05-06 19:13:14 -07:00
Jason Volk
fd1db1b208
ircd::fs::aio: Pointer to dock rather than instance per request; split request::operator().
2020-05-06 15:46:54 -07:00
Jason Volk
6d77e99a03
ircd::fs::aio: Minor reorder request arguments; missing constness; consistent return values.
2020-05-06 14:04:14 -07:00
Jason Volk
fd127472b9
ircd::db: Use some symbols in the library for ABI string info for now.
2020-05-05 22:52:00 -07:00
Jason Volk
86bacdfcb5
ircd::db: RocksDB >= 6.0.0 CompactionFilter::IgnoreSnapshots() must always be true.
2020-05-05 22:24:25 -07:00
Jason Volk
598bbc45cc
ircd::ctx::posix: Reduce decisionals to static util; minor cleanup.
2020-05-05 20:57:59 -07:00
Jason Volk
72ae3073d3
ircd::ctx::posix: Wrap pthread_timedjoin_np().
2020-05-05 20:57:59 -07:00
Jason Volk
6a9dbf310a
ircd::ctx::posix: Weak alias fallbacks for when --wrap is not effective.
2020-05-05 20:57:59 -07:00
Jason Volk
883a230830
ircd::ctx::posix: Wrap pthread_setname_np().
2020-05-05 19:58:37 -07:00
Jason Volk
dfb91d4c20
ircd::ctx::posix: Relax assertion.
2020-05-05 19:58:37 -07:00
Jason Volk
b448156da4
ircd::db: Interface to get the charge value of cache entry.
2020-05-05 19:58:37 -07:00
Jason Volk
1eaf52d2eb
ircd::db: Reflect ColumnFamilyDropped (6.3.6).
2020-05-05 19:58:37 -07:00
Jason Volk
572396f5f4
ircd::db: Add Env::Priority:USER (6.1.1).
2020-05-05 19:58:37 -07:00
Jason Volk
5fbcc5b982
ircd::db: Reflect kPeriodicCompaction (6.6.2).
2020-05-05 19:58:37 -07:00
Jason Volk
3ebc8f8a33
ircd::db: Reflect kErrorRecovery (5.17.2).
2020-05-05 19:58:37 -07:00
Jason Volk
36a0394184
ircd::db::database: Add custom allocator stub; apply per-cache allocators.
2020-05-05 19:58:37 -07:00
Jason Volk
9f2bdd3ca2
Upgrade to RocksDB 6.6.4.
...
ircd::db::database::cache: Remove deprecated interface override.
ircd::db::database::cache: Add new GetCharge() abstract virtual override.
ircd::db: Use set_stats_level() for privated member.
2020-05-05 19:58:37 -07:00
Jason Volk
cb7e90fc0f
ircd::http: Use unsigned 64bit; add sanity ceiling for content-length.
2020-05-05 17:40:50 -07:00
Jason Volk
63e0543175
ircd::http: Use unsigned 32bit type for chunk size.
2020-05-05 17:32:41 -07:00
Jason Volk
85fb1804be
rocksdb::port: Simplify assertion.
...
ircd::ctx::posix: Fix erroneous comment.
ircd::ctx::posix: Relax assertion.
2020-05-04 19:09:32 -07:00
Jason Volk
36d9dbf0af
ircd::ctx::posix: Add linker hooks for specific pthread functions.
2020-05-04 16:09:39 -07:00
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
05638f9e77
ircd::db: Additional comments for fixes; minor reorg.
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
51cb09c31a
ircd::mods::ldso: Add strtab lookup convenience.
2020-05-02 23:57:53 -07:00
Jason Volk
747bc99987
ircd::mods::ldso: Add util for base addr from link map.
2020-05-02 23:57:53 -07:00
Jason Volk
6f3e051563
ircd::mods::ldso: Add wrapper for dlinfo(3).
2020-05-02 23:57:53 -07:00
Jason Volk
9962d80c6e
ircd::backtrace: Increase constness.
2020-05-02 23:57:53 -07:00
Jason Volk
8f827fd4b7
ircd::backtrace: Disable workaround for stack global in clang.
2020-05-02 23:57:53 -07:00
Jason Volk
7df29b7ebe
ircd::db: Minor cleanup.
2020-05-02 23:57:53 -07:00
Jason Volk
50a67b1ae3
ircd::net::dns::resolver: Improve default configured rates.
2020-04-30 14:54:09 -07:00
Jason Volk
e6d71d1ab0
ircd::db: Cleanup and relax interpositions; also reverts a416481e1b
.
2020-04-30 14:02:17 -07:00
Jason Volk
f7d6a00acb
ircd::allocator: Weaken the extern hook declarations.
2020-04-30 05:36:07 -07:00
Jason Volk
a416481e1b
ircd::db: Use #error rather than #warning when RocksDB fixes cannot be interposed.
2020-04-29 15:27:06 -07:00
Jason Volk
693d3c72bb
ircd::db: Supply our own created SstFileManager instance.
2020-04-29 03:37:35 -07:00
Jason Volk
b3b7385511
ircd::db: Interpose mitigations for rocksdb::DeleteScheduler etc.
2020-04-29 03:37:35 -07:00
Jason Volk
9d7c1096e8
ircd::db: Consolidate rocksdb interpositions into db_fixes unit; minor cleanup.
2020-04-29 03:37:35 -07:00
Jason Volk
398fb026b0
ircd::info: Additional execution specific; reorg hardware/system related.
...
ircd::info: Sample hardware cache characteristics.
2020-04-28 20:18:48 -07:00
Jason Volk
c7f633a62d
ircd::net::dns::resolver: Even less aggressive default rate.
2020-04-27 16:06:28 -07:00
Jason Volk
9bbc5834af
ircd: Add missing globular_imatch.
2020-04-26 17:02:21 -07:00
Jason Volk
3c69f85e66
ircd::net::dns::resolver: Less aggressive conf defaults.
2020-04-26 16:32:47 -07:00
Jason Volk
4960912848
ircd::server: Additional convenience query for linked peers.
2020-04-25 19:30:21 -07:00
Jason Volk
2556a18cdf
ircd::net::dns: Improve cache waiting dup check.
2020-04-25 00:28:39 -07:00
Jason Volk
fc14d4c825
ircd::net::dns::cache: Remove all waiters matching criteria.
2020-04-25 00:28:39 -07:00
Jason Volk
637b6ecede
ircd::net::dns::cache: Move cache waiter calling out of module.
2020-04-25 00:28:39 -07:00
Jason Volk
11f2eff4d9
Add -defaults program option to restore from broken configurations.
2020-04-24 21:58:57 -07:00
Jason Volk
71a0ec7532
ircd::rfc1035: Fix possible #AC from unaligned uint128_t.
2020-04-24 21:58:57 -07:00