0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-19 19:33:45 +02:00
Commit graph

94 commits

Author SHA1 Message Date
Jason Volk 14f55f6110 ircd::ios: ABI simplify; fix double-indirection, AGU load, code size on context switch. 2023-03-20 10:31:09 -07:00
Jason Volk f85781b65a ircd::fs::dev: Move dev::blk related into class nested. 2023-03-16 11:42:49 -07:00
Jason Volk dcbeb3fd4a ircd::fs: Remove fs::iou. 2022-09-10 11:40:33 -07:00
Jason Volk 5a4a395fc2 Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
Jason Volk 61d558fc9d ircd: Define all IRCD_USE_ as integers for constexprs. 2022-06-23 09:36:44 -07:00
Jason Volk e403c20cc6 ircd::fs::aio: Split max events query into init method. 2022-06-19 20:27:13 -07:00
Jason Volk 9d0d45294c ircd: Attribute static dtors worthy of running to cleanup memcheck reports. 2022-06-17 21:11:54 -07:00
Jason Volk 04558290c0 ircd: Toward improving cold/unlikely section population. 2022-06-17 21:11:53 -07:00
Jason Volk 07ec766ff9 ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes. 2020-12-20 06:02:50 -08:00
Jason Volk e80629c914 ircd: Rename all ios::descriptors w/ consistent dot namespacing.
ircd: Hoist various ios::descriptors out of function-static duration.
2020-12-18 02:42:07 -08:00
Jason Volk af59cc1378 ircd::fs::aio: Integrate stats structure into ircd::stats system. 2020-12-18 02:42:07 -08:00
Jason Volk 1949e6e37d ircd::fs::aio: Post the chaser w/ defer for more delay. 2020-12-14 00:37:01 -08:00
Jason Volk b54d4950cc ircd::fs::aio: Optimize system call pattern; eliminate exclusive calls to poll(2). 2020-12-14 00:37:01 -08:00
Jason Volk a10429c15f ircd: Improve terminate interface; simplify impl. 2020-12-13 10:45:34 -08:00
Jason Volk ddfac32b85 ircd::ios: Elide std::function for hot descriptor calls. 2020-12-11 22:50:57 -08: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 6e5da0dee6 ircd::fs::aio: Add a default max_events fallback; assert non-zero. 2020-06-07 03:40:38 -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 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 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 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 26b36d4740 ircd::fs::aio: Remove blocking debug; deprecated by io_uring. 2020-04-18 20:17:37 -07:00
Jason Volk 472ce01b50 ircd::fs: Reorg support section and indicators. 2020-03-20 10:56:55 -07:00
Jason Volk 6679b66806 ircd::prof: Move ctx::syscall_usage_warning into prof. 2020-03-06 15:43:24 -08:00
Jason Volk d3809d43e5 Reorganize Makefiles. 2019-09-27 19:35:26 -07:00
Jason Volk efadd20ce8 Revert "ircd::fs::aio: Use defer to post the chaser." [skip ci]
This reverts commit 726f131cc2.

Revert "construct: Set asio::io_context concurrency hint to 1."

This reverts commit 0d1b3de7c0.
2019-09-15 19:36:39 -07:00
Jason Volk 407ee42343 ircd::fs::aio: Set continuation=true in sigfd ios descriptor. 2019-09-13 17:11:13 -07:00
Jason Volk 6ccbede478 ircd::fs::aio: Use ctx::dock for waiter; minor reorg. 2019-08-19 20:24:05 -07:00
Jason Volk 25f5f28102 ircd::fs::aio: Improve conf item documentation. 2019-08-19 20:11:59 -07:00
Jason Volk 2532f7f5e2 ircd::fs::aio: Add submit_coalesce conf item. 2019-08-16 02:19:49 -07:00
Jason Volk 125f53872c ircd::fs: Preliminary io_uring infrastructure plumbing. 2019-08-11 01:39:30 -07:00
Jason Volk 588b0aa9bc ircd::fs::aio: Fix bitrot assertion; simplify aio related. 2019-08-10 23:22:28 -07:00
Jason Volk f549fb1f72 ircd::fs: Fix support version detections. 2019-08-06 15:49:24 -07:00
Jason Volk 8b9822e4fb Fix various instances of throwing into noexcept. 2019-08-05 16:20:55 -07:00
Jason Volk cf3b1218c4 ircd: Misc fixes for clang. 2019-06-23 16:22:06 -06:00
Jason Volk 3ccb7c1faa ircd: Belay narrowing conversions. 2019-06-22 17:36:37 -06:00
Jason Volk e409a45f15 ircd::fs::aio: Remove stale TODO. 2019-06-08 02:48:35 -07:00
Jason Volk c292ec46f2 ircd::fs: Add runtime selection of pwritev(2) and RWF_ features; minor reorg. 2019-06-05 23:25:48 -07:00
Jason Volk eb73595c50 ircd: Apply uniform info::versions for all dependency version identification. 2019-05-31 16:15:01 -07:00
Jason Volk 134bcc1bfb ircd::fs: Add write_opts for RWF_WRITE_LIFE_* support. 2019-05-05 17:48:02 -07:00
Jason Volk a931a7f631 ircd::fs::aio: Add conditional define for io_submit() debug timers. 2019-04-29 17:48:06 -07:00
Jason Volk 04020da7e4 ircd::fs::aio: Add debug mechanism to warn read will block io_submit(2). 2019-04-29 17:38:19 -07:00
Jason Volk 30b59f4736 ircd::prof: Reorg; deinline various; add comments. 2019-04-25 21:10:45 -07:00
Jason Volk 306752b2a5 ircd::fs::aio: Remove erroneous #define. 2019-04-22 16:59:03 -07:00
Jason Volk a61d04a9c2 ircd::fs: Allow ircd.fs.aio.max_submit=0 to indicate max possible. 2019-04-22 15:40:34 -07:00
Jason Volk d6374466f3 ircd::fs::aio: Test for blocking flag rather than option if available. 2019-04-22 09:45:14 -07:00