0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-17 23:40:57 +01:00
Commit graph

53 commits

Author SHA1 Message Date
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
Jason Volk
c04708aca4 ircd::fs::aio: Minor tweak call pattern for wait(request). 2019-04-22 09:29:09 -07:00
Jason Volk
1137f8a29b ircd::fs::aio: Fix waiting on cancels; various fixes. 2019-04-21 04:15:10 -07:00
Jason Volk
bbc5d9ee5b ircd::fs::aio: Improve error assumptions / reporting around io_submit(). 2019-04-20 22:28:15 -07:00
Jason Volk
900fab1e79 ircd::fs: Propagate EAGAIN without exception for !opts.blocking operations. 2019-04-20 19:29:07 -07:00
Jason Volk
4c95765e07 ircd::fs::aio: Add assertions for null value aio_data. 2019-04-18 18:33:58 -07:00
Jason Volk
726f131cc2 ircd::fs::aio: Use defer to post the chaser. 2019-04-12 17:32:53 -07:00
Jason Volk
0b51a10a44 ircd::fs::aio: Count io_submit() 'stalls' in stats. 2019-04-10 20:18:51 -07:00
Jason Volk
ba46e8c005 ircd::fs::aio: Move for_each_completed() to central interface; add additional utils. 2019-04-10 20:18:51 -07:00
Jason Volk
ce9a9e58b4 ircd::fs: Switch to syscall_usage_warning for io_submit and fsync et al. 2019-04-10 20:18:50 -07:00
Jason Volk
f268d6e29a ircd::fs::aio: Fix argument initialization. 2019-04-09 19:00:24 -07:00
Jason Volk
9994836db0 ircd::fs: Add and use dedicated log facility for ircd::fs. 2019-04-07 16:28:21 -07:00
Jason Volk
161502452a ircd::fs::aio: Improve stability of completion ring iteration. 2019-04-06 13:52:22 -07:00
Jason Volk
d118a0e743 ircd::fs: Add enumerated op codes to identify request types. 2019-04-06 12:13:16 -07:00
Jason Volk
c3b9e2fca4 ircd::fs::aio: Reduce nr of modulo for completion ring iteration. 2019-04-05 18:12:23 -07:00
Jason Volk
57119f2367 ircd::fs::aio: Minor cleanup. 2019-03-31 13:24:42 -07:00
Jason Volk
9f534dea17 ircd::fs::aio: Add iteration tool for kernel completion queue. 2019-03-30 14:09:47 -07:00
Jason Volk
0ffb6d6c8e ircd::fs::aio: Improve interface with kernel context structure. 2019-03-30 13:11:39 -07:00
Jason Volk
b6732b5fdf ircd::fs::aio: Optimize integer sizes of various stats. 2019-03-30 13:02:03 -07:00
Jason Volk
76138dbebd ircd::fs::aio: Remove unused errbuf. 2019-03-29 21:46:03 -07:00
Jason Volk
6dc50292e8 ircd::fs: Simplify these ifdef conditions. 2019-03-27 19:07:11 -07:00
Jason Volk
334484c4bc ircd::fs::aio: Add custom allocator at descriptor site for the sigfd operation. 2019-03-27 13:04:12 -07:00
Jason Volk
1e900217ee ircd::fs::aio: Move ring struct into system::. 2019-03-27 13:04:12 -07:00
Jason Volk
d2546120ee ircd: Add descriptor participation for all asynchronous operations. 2019-03-27 13:04:12 -07:00
Jason Volk
effc34c86f ircd::fs::aio: Add struct aio_ring from the kernel ABI. 2019-03-17 18:41:45 -07:00
Jason Volk
fec03b198e ircd::fs::aio: Improve request exception information. 2019-03-16 18:12:38 -07:00
Jason Volk
89b258c5a7 ircd::fs: Improve fs::prefetch(). 2019-03-15 21:36:26 -07:00
Jason Volk
64959387bb ircd::fs::aio: Move the slice_usage_warning closer to SYS_io_submit. 2019-03-15 19:11:46 -07:00
Jason Volk
4efb3a26fd ircd::fs: Reorg general RWF_ indicators out to fs:: from aio::. 2019-03-15 18:45:32 -07:00
Jason Volk
293f6d5480 ircd::fs::aio: Throw system_error from here due to ambiguity.
ircd::fs: Trap on EINVAL.
2019-03-15 18:23:25 -07:00
Jason Volk
6da3e88bc4 ircd::fs::aio: Remove assertion that handle_event() is not on context stack. 2019-03-15 17:42:11 -07:00
Jason Volk
9f73299408 ircd::fs::aio: Move seting aio_reqprio to the super constructor. 2019-03-15 16:45:57 -07:00
Jason Volk
2a0720c1a0 ircd::fs: Use flags based on system availability. 2019-03-15 16:19:05 -07:00
Jason Volk
0a8e79374f ircd::fs::aio: Improve error handling around io_submit(). 2019-03-14 12:45:00 -07:00
Jason Volk
87144cef77 ircd::fs: Support various RWF flags for operations; also preadv2(). 2019-03-14 12:45:00 -07:00
Jason Volk
56092db18c ircd::fs: Move the reqprio() normalizer from fs::aio:: to fs::. 2019-03-13 19:39:20 -07:00
Jason Volk
1117947a22 ircd::fs::aio: Add support test for RWF_NOWAIT and RWF_APPEND. 2019-03-13 19:38:47 -07:00
Jason Volk
eb7c7f07a7 ircd::fs::aio: Derive availability of IOCB_CMD_FSYNC / IOCB_CMD_FDSYNC. 2019-03-13 16:06:41 -07:00
Jason Volk
92d1416ecc ircd::fs::aio: Use a pointer to request rather than initial dereference. 2019-03-11 16:36:56 -07:00
Jason Volk
9d59074679 ircd::fs::aio: Don't cancel requests which were already completed. 2019-03-10 19:26:54 -07:00
Jason Volk
7aa9102f45 ircd::fs::aio: Add assertions at cancel() entry; tweak assertions that compare pointers. 2019-03-10 18:21:05 -07:00
Jason Volk
1bc1b3c207 ircd::fs::aio: Fix bug. 2019-03-05 08:51:47 -08:00