OS-5845: lx aio performance improvements and move into kernel


Issue Type:Bug
Priority:4 - Normal
Created at:2016-12-12T19:12:17.000Z
Updated at:2017-12-14T17:24:27.815Z


Created by:Former user
Reported by:Former user
Assigned to:Former user


Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2017-02-22T22:33:08.000Z)

Fix Versions

2017-03-02 KENYA OPTION (Release Date: 2017-03-02)

Related Issues




There are many places where we're doing operations that make syscalls, or block, plus the libc aio code itself is not high performance.


Comment by Former user
Created at 2017-02-02T18:40:56.000Z
Updated at 2017-12-14T17:24:27.801Z

This comment tracks the on-going test results for the new io_* syscall support.

- lx-tests aio test suite: all pass on VM and lx
- io_perf: runs with better results
- mysql: starts up ok, can create a new DB, insert & query records
- pstack: works (no stack for in-kernel threads)
- pstop/prun: works as expected
- gcore: works
- truss: works
- strace: works
- /proc (inside zone): ps -eLf only shows non-worker threads, other proc files/dirs also look correct and hide non-worker threads
- findleaks: pass, no leaks in kernel after many runs of the new aio test suite
- libaio: test program written using libaio works as expected
- fio test using libaio backend runs a heavy load in VM and on HW in east-3b

Comment by Former user
Created at 2017-02-22T22:21:33.000Z

illumos-joyent commit dda1f9a (branch master, by Jerry Jelinek)

OS-5845 lx aio performance improvements and move into kernel
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>