From: Cyrill Gorcunov <gorcunov@gmail.com> To: Konstantin Osipov <kostja.osipov@gmail.com> Cc: tml <tarantool-patches@dev.tarantool.org> Subject: Re: [Tarantool-patches] [PATCH v6 1/4] coio: Export helpers and provide coio_read_fd_timeout Date: Fri, 20 Dec 2019 17:50:44 +0300 [thread overview] Message-ID: <20191220145044.GA18623@uranus> (raw) In-Reply-To: <20191220074847.GF30445@atlas> On Fri, Dec 20, 2019 at 10:48:47AM +0300, Konstantin Osipov wrote: > * Cyrill Gorcunov <gorcunov@gmail.com> [19/12/17 15:57]: > > There is no reason to hide functions. In particular > > we will use coio_write_fd_timeout and coio_read_fd_timeout > > for popen. > > AFAIU the only difference between the new function and > coio_read_timeout() is that the new function works without > struct coio* object, but uses coio_wait(), which creates/ > destroys this object on demand. Yes. This allows us to reuse it instead of code duplication. > > Could you provide a rationale for this? coio_wait has to call > EPOLL_CTL_ADD/EPOLL_CTL_DEL on every wait, so it tripples the > number of syscalls per wait. But how else we can do that? libev uses poll internally to find out if there some "event" in the event queue (timer event, io event and such). Could you please elaborate which idea you have? Indeed every time we start io on fd, the libev puts this fd into watchee list to be notified if there some event to handle. I must admit I don't see an other way. > > On the other hand I realize that it's not super important > for popen IO, but still I don't understand *why* you need this.
next prev parent reply other threads:[~2019-12-20 14:50 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-17 12:54 [Tarantool-patches] [PATCH v6 0/4] popen: Add ability to run external process Cyrill Gorcunov 2019-12-17 12:54 ` [Tarantool-patches] [PATCH v6 1/4] coio: Export helpers and provide coio_read_fd_timeout Cyrill Gorcunov 2019-12-20 7:48 ` Konstantin Osipov 2019-12-20 14:50 ` Cyrill Gorcunov [this message] 2019-12-17 12:54 ` [Tarantool-patches] [PATCH v6 2/4] popen: Introduce a backend engine Cyrill Gorcunov 2019-12-20 8:11 ` Konstantin Osipov 2019-12-20 11:52 ` Cyrill Gorcunov 2019-12-20 12:04 ` Konstantin Osipov 2019-12-20 12:10 ` Cyrill Gorcunov 2019-12-20 12:11 ` Alexander Turenko 2019-12-26 7:14 ` Konstantin Osipov 2019-12-26 7:19 ` Cyrill Gorcunov 2020-01-09 11:23 ` Cyrill Gorcunov 2019-12-17 12:54 ` [Tarantool-patches] [PATCH v6 3/4] popen/lua: Add popen module Cyrill Gorcunov 2019-12-20 15:41 ` Maxim Melentiev 2019-12-17 12:54 ` [Tarantool-patches] [PATCH v6 4/4] popen/test: Add base test cases Cyrill Gorcunov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191220145044.GA18623@uranus \ --to=gorcunov@gmail.com \ --cc=kostja.osipov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v6 1/4] coio: Export helpers and provide coio_read_fd_timeout' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox