diff --git a/ev.pod b/ev.pod index fcef866..caada3f 100644 --- a/ev.pod +++ b/ev.pod @@ -513,7 +513,7 @@ C to C. =item C (value 4, Linux) -Use the linux-specific epoll(7) interface (for both pre- and post-2.6.9 +Use the Linux-specific epoll(7) interface (for both pre- and post-2.6.9 kernels). For few fds, this backend is a bit little slower than poll and select, but @@ -576,14 +576,14 @@ C. =item C (value 64, Linux) -Use the linux-specific linux aio (I C<< aio(7) >> but C<< +Use the Linux-specific Linux AIO (I C<< aio(7) >> but C<< io_submit(2) >>) event interface available in post-4.18 kernels (but libev only tries to use it in 4.19+). -This is another linux trainwreck of an event interface. +This is another Linux train wreck of an event interface. If this backend works for you (as of this writing, it was very -experimental), it is the best event interface available on linux and might +experimental), it is the best event interface available on Linux and might be well worth enabling it - if it isn't available in your kernel this will be detected and this backend will be skipped. @@ -591,24 +591,24 @@ This backend can batch oneshot requests and supports a user-space ring buffer to receive events. It also doesn't suffer from most of the design problems of epoll (such as not being able to remove event sources from the epoll set), and generally sounds too good to be true. Because, this -being the linux kernel, of course it suffers from a whole new set of +being the Linux kernel, of course it suffers from a whole new set of limitations, forcing you to fall back to epoll, inheriting all its design issues. For one, it is not easily embeddable (but probably could be done using an event fd at some extra overhead). It also is subject to a system wide -limit that can be configured in F. If no aio +limit that can be configured in F. If no AIO requests are left, this backend will be skipped during initialisation, and will switch to epoll when the loop is active. Most problematic in practice, however, is that not all file descriptors -work with it. For example, in linux 5.1, tcp sockets, pipes, event fds, -files, F and a few others are supported, but ttys do not work +work with it. For example, in Linux 5.1, TCP sockets, pipes, event fds, +files, F and many others are supported, but ttys do not work properly (a known bug that the kernel developers don't care about, see L), so this is not (yet?) a generic event polling interface. -Overall, it seems the linux developers just don't want it to have a +Overall, it seems the Linux developers just don't want it to have a generic event handling mechanism other than C