Adding Linux ASYNC I/O to libev
schmorp at schmorp.de
Thu Mar 10 10:45:47 CET 2011
On Thu, Mar 10, 2011 at 10:02:28AM +0300, Konstantin Osipov <kostja.osipov at gmail.com> wrote:
> AFAIU there is now a POSIX implementation in the kernel:
Well, that page says it's nota posix implementation - but that's not really
What's relevant is that that implementation is the one with all the
limitations - what's needed is evidence that these limitations are no longer
It also still requires signals or polling (a problem common to the
posix model, too), both of which are very slow. An alternative would be
signalfd, but due to it's bad design this lead to so many problems that
libev no longer does it by default.
> That I can't say for sure, but a mere switch to laio on Linux in
> MySQL/InnoDB 5.5 gave a measurable increase in performance.
A switch from synchronous I/O...?
> Asynchronous IO was used in MySQL before, but not on Linux, so
> it's hard to say whether the performance improvement came from the
> switch per se or from laio.
Yeah, it might be even faster with libeio and cpu pinning, who knows.
Sorry to sound so negative, but there are a lot of good arguments against
it, and no evidence in favour of it.
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
More information about the libev