0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-16 23:48:36 +02:00
Commit graph

3131 commits

Author SHA1 Message Date
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
Jason Volk 7792f00461 ircd::db: Add more info to log message. 2018-12-12 16:55:11 -08:00
Jason Volk a2892356d1 ircd::db: Compact range options package. 2018-12-12 16:02:31 -08:00
Jason Volk 62874ff498 ircd::db: Add src and dst level arguments to db::compact files interface. 2018-12-12 15:53:16 -08:00
Jason Volk 9236eeba75 ircd::db: Add dwarning for unaligned write w/ direct io. 2018-12-12 15:30:25 -08:00
Jason Volk a7a00287bb ircd::db: Assert the callback thread_id's match up with the current ircd::ctx. 2018-12-12 14:52:04 -08:00
Jason Volk 0b37c03c78 ircd::db: Simplify log message formats on callbacks. 2018-12-12 14:48:06 -08:00
Jason Volk 1cab1fda7e ircd::db: Use db logger rather than rog for event callbacks. 2018-12-12 13:24:47 -08:00
Jason Volk 8d9b0fb4b1 ircd::db: Options package checkpoint. 2018-12-12 13:16:47 -08:00
Jason Volk df36a6a4ac ircd::db: Use proper fs::sync() for sync requests. 2018-12-12 13:16:47 -08:00
Jason Volk b80735c575 ircd::fs: Add sync()/syncfs(). 2018-12-12 13:16:47 -08:00
Jason Volk c156266bd8 ircd::fs: Simplify error handling. 2018-12-12 13:16:47 -08:00
Jason Volk 6dc547f8f1 ircd::db: Simplify some rdb event log messages. 2018-12-12 10:42:11 -08:00
Jason Volk 41fd658b24 ircd::db: Add interface to get column and database options. 2018-12-12 10:17:47 -08:00
Jason Volk a133235f82 ircd::db: Move database::options to db::options. 2018-12-12 10:17:47 -08:00
Jason Volk c9e9fd3621 ircd::db: Use non-allocating message string for exception translation. 2018-12-12 10:12:24 -08:00
Jason Volk a3f831e64f ircd::net: Simplify various log messages with loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk e97742ef39 ircd::net: Add loghead() similar to client::loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk d7da57e073 ircd::db: Add log level interface w/ console cmd. 2018-12-12 10:12:23 -08:00
Jason Volk 76ac576f53 ircd::log: Improve reflection related; add reverse reflection. 2018-12-12 08:47:13 -08:00
Jason Volk f667b73dac ircd::db: Minor move database::column closer to database in the unit. 2018-12-12 08:03:59 -08:00
Jason Volk 24d8665695 ircd::db: Convey better compaction compression option. 2018-12-11 16:42:18 -08:00
Jason Volk a03d28c6a1 ircd::db: Allow < -1 target level to indicate no level change at all. 2018-12-11 16:30:28 -08:00
Jason Volk 8e11620100 ircd::db: Distinguish range compact from files compact in interface. 2018-12-11 16:30:28 -08:00
Jason Volk 638a629151 ircd::fs: Translate boost to std for exceptions out of stdin::readline. 2018-12-11 14:32:51 -08:00
Jason Volk 2a437347cb ircd:Ⓜ️:dbs: Relax assertion. 2018-12-10 15:56:09 -08:00
Jason Volk cfbf31c587 ircd::db: Fix log msg fmt consistency. 2018-12-10 15:18:27 -08:00
Jason Volk 8d6c7e3576 ircd::db: Add WAL information interface w/ console cmd. 2018-12-10 14:14:55 -08:00
Jason Volk c3560d4890 ircd::db: Rename database::logs to database::logger. 2018-12-10 13:26:46 -08:00
Jason Volk 97b3003280 ircd: Convert various exception format string arguments to string_view. 2018-12-10 13:14:39 -08:00
Jason Volk 19f1929b1f ircd::log: Use string_view for format string arguments. 2018-12-10 13:02:17 -08:00
Jason Volk 45bf911952 ircd::conf: Add feature to toggle whether conf item is persisted in a db. 2018-12-08 16:27:32 -08:00
Jason Volk 313bffffc2 ircd::fs: Add path to error message thrown from ls() et al. 2018-12-08 15:50:08 -08:00
Jason Volk 1ba22a21ba ircd: Disperse accumulated global options as conf items in namespaces. 2018-12-08 15:36:34 -08:00
Jason Volk 0c0c3b1f41 ircd: Split runlevel related into header and unit. 2018-12-08 15:15:31 -08:00
Jason Volk caf1190c91 ircd::db: Tweak interruption point related. 2018-12-07 12:48:54 -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 086f92f989 ircd::rfc3986: Type checking on form encoding from json::members. 2018-12-06 17:31:22 -08:00
Jason Volk 6de17431ff ircd: Reverse arguments for url::encode()/decode(); minor reorg. 2018-12-06 16:41:47 -08:00
Jason Volk 2caf425fde ircd::rfc3986: Add form_encode() composer from json::members. 2018-12-06 16:27:05 -08:00
Jason Volk e4922772f4 ircd::server: Fix issues with non-matrix peer construction. 2018-12-05 19:38:40 -08:00
Jason Volk 3f939367c0 ircd::log: Add console_enable/disable for all facilities. 2018-12-05 19:00:10 -08:00
Jason Volk 99001a4ea5 ircd: Initial ap. 2018-12-05 15:17:00 -08:00
Jason Volk b9974bf4ab ircd::http: Allow empty chunk header to indicate a zero length. 2018-12-05 15:15:49 -08:00
Jason Volk 10b8db0bb3 ircd::http: Add format string construction for http::error. 2018-12-05 15:15:26 -08:00
Jason Volk d6241c66de ircd: Add synchronization for runlevel changes. 2018-12-05 14:31:05 -08:00
Jason Volk 760bd0f19c ircd::db: Workaround allow_fallocate options issue. 2018-12-03 14:31:48 -08:00
Jason Volk 0250c0f2ec ircd::db: Disable fallocate() use for now. 2018-12-03 13:01:36 -08:00
Jason Volk 24e423c714 ircd::fs: Add support test for fallocate(). 2018-12-03 12:58:42 -08:00
Jason Volk 47d6fbb35f ircd::fs: Consolidate support tests and indications into namespace. 2018-12-03 12:55:52 -08:00
Jason Volk f2ecf617ba ircd::db: Stub a place to put the runtime loaded library version information. 2018-12-03 12:30:59 -08:00
Jason Volk 6d80be2d7a ircd::db: Cleanup / comment db options initialization. 2018-12-03 11:54:35 -08:00
Jason Volk 402f0f91f1 ircd::db: Create DBOptions earlier for use when reading column names. 2018-12-02 17:45:36 -08:00
Jason Volk e8088ce52a ircd::db: Assert synchronization for sequential file operations; update offset on PositionedRead(). 2018-12-02 17:19:13 -08:00
Jason Volk c1d915db7a ircd::db: Fix pragma. 2018-12-02 17:16:32 -08:00
Jason Volk b45b25bdcd ircd::db: Dressing for C99 array on stack here. 2018-12-01 17:07:15 -08:00
Jason Volk b31432aae1 ircd::db: Checkpoint some table options for compression. 2018-12-01 16:11:32 -08:00
Jason Volk 711dfacd9a ircd::fs: Improve strategy for AIO fsync/fdsync related. 2018-12-01 16:10:53 -08:00
Jason Volk ca525b081f ircd: Add noaio global flag; add command line option. 2018-12-01 15:55:53 -08:00
Jason Volk 965ecd16e5 ircd::fs: Break apart / improve make_iov() related stack / cleanup typedefs. 2018-12-01 15:46:38 -08:00
Jason Volk 2dc36775a8 ircd::fs: Check IOV_MAX limits for make_iov(). 2018-12-01 15:21:06 -08:00
Jason Volk 62053e66e2 ircd::db: Minor interruption point tweaks. 2018-12-01 14:55:38 -08:00
Jason Volk 36b4e3cabe ircd: Add init parameters for different origin and hostname strings. 2018-12-01 14:55:38 -08:00
Jason Volk f9def72a89 ircd::db: Fix propagation of column's compression type to compaction options. 2018-11-30 15:19:49 -08:00
Jason Volk ea0ad518ea ircd::db: Fix interface / linkage for getting ColumnFamilyOptions ref from database::column. 2018-11-30 15:19:00 -08:00
Jason Volk c451571108 ircd::db: Fix finding supported compression error. 2018-11-30 15:07:51 -08:00
Jason Volk 17817db656 ircd:Ⓜ️:dbs: Add back the deprecated _event_bad descriptor marked for drop. 2018-11-30 14:44:16 -08:00
Jason Volk 3f6ae85f8f ircd::db: Add automated column drop support; update existing descriptors. 2018-11-30 14:43:51 -08:00
Jason Volk b0bfd87e9f ircd::net: Support interruption of UDP listening. 2018-11-29 19:16:05 -08:00
Jason Volk 13bce714ab ircd::rfc1035: Add constant for name buffer size. 2018-11-29 18:04:19 -08:00
Jason Volk 5db6447c4f ircd::db: Disable thread tracking; add compression to column open log msg. 2018-11-29 16:47:17 -08:00
Jason Volk d1bfba2204 ircd::db: Remove critical assertion here and add note. 2018-11-29 16:18:29 -08:00
Jason Volk c74debac01 ircd::ctx: Cleanup / fixes for critical assertion related. 2018-11-29 16:12:33 -08:00
Jason Volk 60dd8c0eea ircd::db: Enable block alignment based on compression; Enable O_DIRECT writes. 2018-11-29 15:41:42 -08:00
Jason Volk 4d9027088f ircd:Ⓜ️:state: No throwing when state node is not found here. 2018-11-29 15:24:39 -08:00
Jason Volk 0b0d20884d ircd:Ⓜ️:state: Eliminate remaining test-protocol iterations. 2018-11-29 15:10:51 -08:00
Jason Volk d35dad46c2 configure: Add EXTRA_LIBS rather than modifying LIBS here. 2018-11-29 13:46:45 -08:00
Jason Volk 3ab6d4df79 ircd::fs::aio: Improve stats related. 2018-11-29 13:46:44 -08:00
Jason Volk 731c154b19 ircd::db: Disable AIO for fsync related for now. 2018-11-29 13:08:37 -08:00
Jason Volk 58d80ddc53 ircd::fs: Add option to toggle AIO for fsync related. 2018-11-29 10:18:43 -08:00
Jason Volk 44bf18d4df ircd::fs: Integrate read(iov) suite. 2018-11-28 17:26:25 -08:00
Jason Volk 466ad228b0 ircd::fs: Integrate an overwrite() iov suite. 2018-11-28 17:26:06 -08:00
Jason Volk 20fe537409 ircd::fs: Integrate append() iov suite. 2018-11-28 17:21:28 -08:00
Jason Volk db36ea6255 ircd::fs: fs::write() stack based on pwritev() using iov. 2018-11-28 17:10:48 -08:00
Jason Volk c9b10bd841 ircd::fs: Use better typedefs for vector_view of buffers. 2018-11-28 17:10:17 -08:00
Jason Volk 322e25e725 ircd::info: Add runtime sysconf to get IOV_MAX. 2018-11-28 16:53:59 -08:00
Jason Volk eff4c475e3 ircd::fs: Add iov util header; make aio interface to fs exclusively iov. 2018-11-28 16:53:04 -08:00
Jason Volk 67772facef ircd::fs::aio: Add specific read and write stat counters. 2018-11-28 15:01:00 -08:00
Jason Volk a70d65f171 ircd::util: Allow custom format string for pretty() suite. 2018-11-28 14:41:27 -08:00
Jason Volk fde8dbc69d ircd::fmt: Cleanup/reorg definition namespace scoping. 2018-11-28 14:41:27 -08:00
Jason Volk 24ad230aed ircd::fmt: Modernize buffering, cleanup, comment various. 2018-11-28 14:41:27 -08:00
Jason Volk 5cdd2e6376 ircd::fs::aio: Add statistics for AIO subsystem w/ console cmd. 2018-11-27 19:54:24 -08:00
Jason Volk 12cf8c8772 ircd::fs::aio: Add additional assertions. 2018-11-27 19:53:32 -08:00
Jason Volk 0451dfd925 ircd::fs::aio: Add iovec bytes counter. 2018-11-27 19:53:05 -08:00
Jason Volk 062906143f ircd::fs: Add an fs/aio.h header. Reorg various aio namespace related. 2018-11-27 18:09:12 -08:00
Jason Volk 0de55ce111 ircd::db: Attempt at direct IO writable_file (append) implementation. 2018-11-27 17:30:59 -08:00
Jason Volk adf2de8aed ircd::buffer: Add include-conditioned zero() fallback and improve return semantic. 2018-11-16 14:28:03 -08:00
Jason Volk 49354027a6 ircd::db: Various cleanup; simplify. 2018-11-15 20:54:50 -08:00
Jason Volk ae1c6cc680 ircd::net: Catch std::system_error rather than boost here. 2018-11-14 18:57:42 -08:00
Jason Volk 46690f433c ircd::ctx: Condition rdtsc linkage based on x86intrin availability. 2018-11-14 18:45:10 -08:00
Jason Volk 28115730de ircd::info: Get the RLIMIT_RTTIME on startup info. 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 70099d70a2 ircd:Ⓜ️:room::messages: Add depth convenience; return parsed event_idx value. 2018-11-13 17:04:57 -08:00
Jason Volk 19ef3cfb67 ircd::fpe: Condition experimental asynchronous exception use. 2018-11-12 18:55:00 -08:00
Jason Volk aee34ec734 ircd::allocator: Remove erroneous assertions. 2018-11-11 20:00:11 -08:00
Jason Volk 47732a0075 ircd::fpe: Add experimental exception-throwing SIGFPE w/ -fnon-call-exceptions. 2018-11-11 20:00:11 -08:00
Jason Volk 5d36bdf476 ircd: Remove redundant flag from Makefile. 2018-11-11 18:28:28 -08:00
Jason Volk 6967ad1faa ircd::fpe: Add floating point environment suite; error scoping device. 2018-11-11 18:28:28 -08:00
Jason Volk c0de9b2e76 ircd: Propagate the ec message here. 2018-11-11 15:52:48 -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 e90f1729f0 ircd::db: Split writable_file into writable_file_direct using vtable for functionality. 2018-11-09 18:24:51 -08:00
Jason Volk 9e97ac0564 ircd: Simplify system_category / posix errno code test. 2018-11-09 00:29:31 -08:00
Jason Volk af93d55927 ircd: Minor cleanup: simplify decl; fix comment; relax log level. 2018-11-08 23:05:12 -08:00
Jason Volk 36bb0d3175 ircd: Integrate all boost::system::system_error with stdlib. 2018-11-08 23:05:11 -08:00
Jason Volk 4c85f11a02 ircd: Add suite for equating std::system_category() with boost::system. 2018-11-08 23:05:11 -08:00
Jason Volk cfcbbad0c0 ircd: Additional completeness overloads for make_system_error. 2018-11-08 18:07:22 -08:00
Jason Volk 86ab32e664 ircd: Minor section markings in exception.cc. 2018-11-08 17:10:56 -08:00
Jason Volk a7e4acc519 ircd: Split and reorg ircd::hash/ircd::crh related headers and units. 2018-11-08 17:04:15 -08:00
Jason Volk 26d7e4e6de ircd::db: Remove unused path from flush-begin log message. 2018-11-07 00:57:11 -08:00
Jason Volk c5b8276840 ircd::resource: Improve stack to gather accurate internal error counts. 2018-11-07 00:24:18 -08:00
Jason Volk 7d47ee4d5a ircd::resource: Return BAD_REQUEST rather than NOT_FOUND for required JSON missing. 2018-11-06 21:36:51 -08:00
Jason Volk 1f9afbd09c ircd::resource: Improve method stats gathered. 2018-11-06 21:36:36 -08:00
Jason Volk 8b9b27d8bc ircd::resource: Simplify the resource entry interface. 2018-11-06 21:35:30 -08:00
Jason Volk fdff7428ce ircd::client: Add request counting stats; console cmd related. 2018-11-06 21:34:28 -08:00
Jason Volk 7c815116a6 ircd::ctx: Fix comment typo. 2018-11-06 19:48:06 -08:00
Jason Volk cc818f15b6 ircd::resource: Add stats for methods. 2018-11-05 20:45:30 -08:00
Jason Volk 8217b51526 ircd::resource: Reorg resource/method handler stack; devirtualize resource. 2018-11-05 20:45:30 -08:00
Jason Volk d49b3ba7dd ircd::resource: Minor reorg class layout / opts. 2018-11-05 19:14:53 -08:00
Jason Volk cbbfbcac72 ircd::db: Optimize away one of the row ctor's vector heap allocations. 2018-11-05 17:12:29 -08:00
Jason Volk e03d36aa48 ircd::allocator: Add allocator::scope device. 2018-11-05 16:45:08 -08:00
Jason Volk 2914487aad ircd::json: Add more explicit integer ctors to value; minor reorg ctors. 2018-11-04 18:00:24 -08:00
Jason Volk 9299b0df9f ircd: Make ircd::terminate / ircd::assertion funcjects. 2018-11-04 18:00:24 -08:00
Jason Volk 9d7032e29e ircd:Ⓜ️:room: Make the state iteration readahead value a conf item. 2018-11-02 20:05:11 -07:00
Jason Volk 8af997ab2e ircd:Ⓜ️:room: Add conf item to disable all state btree history queries. 2018-11-02 20:04:17 -07:00
Jason Volk 5236790228 ircd:Ⓜ️ Handle json::not_found on index() for more descriptive error. 2018-11-02 19:42:20 -07:00
Jason Volk 6b1fd6c559 ircd:Ⓜ️:dbs: Remove the _event_bad column; patch event exists/good/bad stack. 2018-11-02 19:42:20 -07:00
Jason Volk a5955fc9ae ircd:Ⓜ️:dbs: Options package; configuration tweak. 2018-11-02 19:15:57 -07:00
Jason Volk 25e6cd1332 ircd::db: Add compression string option to column descriptor. 2018-11-02 18:32:47 -07:00
Jason Volk 8311c1e7ff ircd::db: Improve supported compressions listing w/ console cmd. 2018-11-02 18:02:27 -07:00
Jason Volk ad003a0d66 ircd:Ⓜ️:dbs: Add conf items for bloom filters. 2018-11-02 18:01:03 -07:00
Jason Volk f2a08426c5 ircd:Ⓜ️:dbs: Add conf item for meta block size of all direct event columns. 2018-11-02 09:01:23 -07:00
Jason Volk 49bad9f01d ircd::db: Check for posix_fadvise(); implement InvalidateCache for environment if not direct IO. 2018-11-02 01:30:15 -07:00