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 |
|
Jason Volk
|
af6ac4a2ac
|
ircd: Replace various unwind count patterns with scope_count.
|
2019-02-28 17:12:03 -08:00 |
|
Jason Volk
|
4d95daf8e3
|
ircd::fs: Add slice_usage_warning around io_submit() / open(2).
|
2019-02-12 12:04:01 -08:00 |
|
Jason Volk
|
14b57f2eac
|
ircd: Rename aio.h/aio.cc with fs_ prefix.
|
2019-01-23 13:20:38 -08:00 |
|