[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