<div dir="ltr">Of course, prim_inet doesn't need async threads, because it uses select/kqueue.<div><br></div><div style>I was speaking about prim_file. Everything is very complicated about it, because by default neither linux, neither FreeBSD hasn't async disk IO out of the box without nails and a hammer. Windows has, but it is not a reason to switch =)</div>
<div style><br></div><div style>So to achieve good responsibility prim_file schedules disk requests on thread pool that gets blocked with simple pread/write requests.</div><div style><br></div><div style>Problem is that it is possible that all async threads can get blocked with requests to one busy and slow device.</div>
<div style>"Professional" storage systems like elliptics (I'm speaking of course not about that shit, named "RAID", but about software storage implementations like Swift, LeoFS or elliptics) have separate thread pool per each device so that all requests to buggy device will not affect reads and writes from other devices.</div>
<div style><br></div></div>