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

41 commits

Author SHA1 Message Date
Jason Volk 1eca2cafb3 ircd::fs::aio: Optimize the syscall pattern by selectively reading the eventfd. 2019-01-17 13:21:43 -08:00
Jason Volk ea4c3447c6 ircd::fs::aio: Simplify various conditions; add various comments; cleanup. 2019-01-13 14:02:03 -08:00
Jason Volk 663b164f39 ircd::fs: Abstract the common options into opts struct. 2018-12-29 20:02:22 -08:00
Jason Volk a36d473708 ircd::fs::aio: Rename function. 2018-12-29 19:43:17 -08:00
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 30dc2ce7ed ircd::fs: Various cleanup / renames. 2018-12-28 15:30:29 -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 7a9d70f15d ircd::aio: Add a reference to the fs opts structure for the request. 2018-12-26 15:40:22 -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 2c5d6bb7ba ircd::fs::aio: Preliminary io_submit queue to leverage disk controller optimizations. 2018-12-21 10:36:05 -08:00
Jason Volk c3cf4c02dd ircd::fs: Use posix iov in AIO interface arguments. 2018-12-18 14:21:09 -08:00
Jason Volk 9d423f84d8 ircd:;fs: Rename various fsync/sync related. 2018-12-13 16:54:09 -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 eff4c475e3 ircd::fs: Add iov util header; make aio interface to fs exclusively iov. 2018-11-28 16:53:04 -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 062906143f ircd::fs: Add an fs/aio.h header. Reorg various aio namespace related. 2018-11-27 18:09:12 -08:00
Jason Volk 8db063bfc4 ircd::fs: Remove internal alignment paddings. 2018-11-01 22:23:04 -07:00
Jason Volk 6b6106499f ircd::fs: Add write_options.alignment; padding out to alignment for aio write. 2018-10-31 17:00:17 -07:00
Jason Volk 88be871149 ircd::aio: Switch to PREADV/PWRITEV iovector operations. 2018-10-31 16:29:20 -07:00
Jason Volk e8e2ca4850 ircd::fs: Reorg some #include statements. 2018-08-28 20:15:40 -07:00
Jason Volk 35a0f1ea51 ircd::aio: Various cleanup. 2018-08-20 22:57:33 -07:00
Jason Volk b5c2270e8c ircd::fs: Add prefetch skeleton linkage. 2018-08-18 23:08:55 -07:00
Jason Volk adee757303 ircd::fs: Add fsync()/fdsync() w/ AIO. 2018-08-18 23:02:34 -07:00
Jason Volk 682c4651d2 eircd::aio: Update some assumptions; minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk ead2a567ad ircd::fs: Refactor fs::write stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk 501e82e8aa ircd::fs: Refactor fs::read stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk bf445492db ircd::fs: Use const_buffer rather than string_view in various returns. 2018-04-24 18:34:46 -07:00
Jason Volk eaadc4b36d ircd::fs::aio: Synchronize interruption and shutdown. 2018-03-12 16:44:16 -07:00
Jason Volk 4670fdbd1b ircd: Remove ircd::error_code typedef with more local typedefs. 2018-03-08 10:08:38 -08:00
Jason Volk 36363134e5 ircd::aio: Cleanup / further simplify. 2018-02-19 19:45:44 -08:00
Jason Volk 2be465d67f ircd::aio: Zero-length IO is very much a thing. 2018-02-17 17:14:15 -08:00
Jason Volk 4a56c0a1cd ircd::fs: Asynchronous writes to local filesystem. 2018-02-06 00:02:18 -08:00
Jason Volk 1bb9624bce ircd: Give AIO its own TRU. 2018-02-05 23:00:55 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk d53eef4ab6 ircd: Eliminate the raw_buffer concept. 2018-02-05 18:54:55 -08:00
Jason Volk f7e928e852 ircd: Simplify various string generations. 2018-01-29 08:39:06 -08:00
Jason Volk 9f6eda4c3d ircd::fs: Further simplify AIO interface. 2018-01-18 03:55:12 -08:00
Jason Volk 6b7399bf4a ircd::fs: Simplify API/AIO by eliminating callback: ctx yield only for now. 2018-01-15 03:12:56 -08:00
Jason Volk c698101d6d ircd::fs: Initial asynchronous file IO support for Linux platforms. 2018-01-10 22:09:05 -08:00