[Tarantool-patches] [PATCH 2/5] lua/fio: Add lbox_fio_push_error as a separate helper
Konstantin Osipov
kostja.osipov at gmail.com
Fri Nov 29 14:22:03 MSK 2019
* Cyrill Gorcunov <gorcunov at gmail.com> [19/11/29 14:06]:
> > OK, now I get why you simply use write() in popen API - you
> > always wrap all calls to popen with a eio call. But why?
>
> Because there could be calls with higher priority. coio
> keeps requests in prio-heap (or similar) so we should
> follow the scheme and every call to popen should be
> dispatched in compare with other calls.
I don't think you should bother with this. I don't see any
practical implication of doing it through coio, except
overhead/complexity it brings.
> > Isn't it sufficient to only wrap vfork, everything else
> > can be done in the main thread, what do you think?
>
> You mean to call popen_helpers directly? From programming
> pov I would love to make it so, the code base would shrink
> a lot but I fear this won't be looking as a solid design.
> Currently all our i/o goes via coio and scheduled. To be
> honest I don't know yet which solution would be better.
Don't mix up coio and eio please. coio is
cooperative-wihtin-the-same-thread. eio is async via a thread
pool. Eio should be killed altogether now that asyncio in linux is
mature enough, and there is io_uring.
eio is just a legacy from the times when there was no good non-blocking
file io on linux.
> Gimme some more time to investigate, I think we could
> gather statistics once things settle down and remove
> coio calls to popen if we decide. Thanks it is internal
> stuff hidden from Lua users and they will not have to
> change anything.
>
> Cyrill
--
Konstantin Osipov, Moscow, Russia
More information about the Tarantool-patches
mailing list