From: Konstantin Osipov <kostja.osipov@gmail.com>
To: Igor Munkin <imun@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH] Move txn from shema to a separate module (use C API instead of FFI)
Date: Fri, 29 Nov 2019 08:30:59 +0300 [thread overview]
Message-ID: <20191129053059.GE15149@atlas> (raw)
In-Reply-To: <20191128183615.GC1214@tarantool.org>
* Igor Munkin <imun@tarantool.org> [19/11/28 21:39]:
> > This is actually quite simple - we could easily call a LuaJIT hook
> > whenever switching a fiber, to make sure that it carefully
> > switches the internals as well. Mike Pall refused to cooperate on
> > the matter, but now we (you) control our own destiny.
>
> Unfortunately, I haven't seen the thread where the subj is discussed
> with Mike Pall, but the approach you proposed doesn't seem to be a
> convenient one, however it still solves a problem (as does the move to
> use Lua-C API for the code with possible Lua VM re-entrance underneath).
>
> The major flaw I see in this solution, is introducing the dependency on
> the JIT interface into Tarantool internals. There is already one
> dependency on LuaJIT-2.1.0 presented with internal headers usage for
> several hacks in utils.c. As a result we are not able to simply replace
> the Lua implementation to try another one (e.g. uJIT conforming
> LuaJIT-2.0.5) for comparing each other.
Well, this is not exactly a flaw of the solution, then: it would
have been a flaw if we had a choice - whether to introduce a
dependency or not. The dependency is already there, with its
costs.
When we introduced the dependency it was not an arbitrary decision
either: the strategy has always been that Tarantool will become
bigger & stronger and will have its own JIT team, so we will be
able to sustain the costs of tight coupling. This strategy has
partly materialized with you and Sergos on board of MRG team.
Now it's a matter of you guys being bold enough to take one step
further and integrate LuaJIT with tarantool fibers.
I know of no good reason why yields break traces, and if they stop
doing that, we can switch everything to FFI.
This is of course outside the scope of this patch, but is related
to the policy for FFI vs Lua/C.
--
Konstantin Osipov, Moscow, Russia
next prev parent reply other threads:[~2019-11-29 9:09 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-26 13:13 Leonid
2019-11-26 21:05 ` Konstantin Osipov
2019-11-26 21:17 ` Alexander Turenko
2019-11-27 8:31 ` Konstantin Osipov
2019-11-28 8:10 ` Leonid Vasiliev
2019-11-28 12:34 ` Konstantin Osipov
2019-11-28 13:00 ` Igor Munkin
2019-11-28 13:18 ` Konstantin Osipov
2019-11-28 14:03 ` Igor Munkin
2019-11-28 15:58 ` Konstantin Osipov
2019-11-28 18:36 ` Igor Munkin
2019-11-29 5:30 ` Konstantin Osipov [this message]
2019-11-29 17:43 ` Igor Munkin
2019-11-29 5:41 ` Konstantin Osipov
2019-11-29 17:37 ` Igor Munkin
2019-12-04 13:05 ` Leonid Vasiliev
2019-12-04 13:15 ` Konstantin Osipov
2019-12-05 8:27 ` Leonid Vasiliev
2020-03-20 18:48 ` Igor Munkin
2020-03-20 19:27 ` Konstantin Osipov
2019-12-11 22:21 ` Alexander Turenko
2019-12-12 8:23 ` Leonid Vasiliev
2020-01-15 17:05 ` Alexander Turenko
2019-12-12 8:49 ` Konstantin Osipov
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=20191129053059.GE15149@atlas \
--to=kostja.osipov@gmail.com \
--cc=imun@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH] Move txn from shema to a separate module (use C API instead of FFI)' \
/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