[Tarantool-patches] [PATCH v2 0/2] Prevent JIT engine breakage on fibers switch-over
Igor Munkin
imun at tarantool.org
Wed Sep 23 22:06:17 MSK 2020
There was a long discussion about the patch correctness and its
performance impact in v1 thread[1]. The benchmarks provided in v1 showed
this implementation as the least nerfing the platform overall
performance even for such synthetic test[2]. One can find the relevant
benchmarks results in the corresponding patches.
Changes in v2:
* implement the callback in a different way to negate its perf impact
@ChangeLog:
* Fixed fibers switch-over to prevent JIT machinery misbehaviour. Trace
recording is aborted when fiber yields the execution. The yield
occuring while mcode is being run leads to the platform panic
(gh-1700, gh-4491).
Branch: https://github.com/tarantool/tarantool/tree/imun/gh-1700-abort-recording-on-fiber-switch
Issues:
* https://github.com/tarantool/tarantool/issues/1700
* https://github.com/tarantool/tarantool/issues/4491
[1]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/015290.html
[2]: https://gist.github.com/igormunkin/7e0cf48005bd003ffbdf30181eedb40e
Igor Munkin (2):
fiber: introduce a callback for fibers switch-over
lua: abort trace recording on fiber yield
src/lib/core/fiber.c | 10 ++++
src/lua/utils.c | 57 ++++++++++++++++++
...-4491-coio-wait-leads-to-segfault.test.lua | 53 +++++++++++++++++
test/unit/CMakeLists.txt | 59 ++++++++++---------
test/unit/core_test_utils.c | 37 ++++++++++++
5 files changed, 188 insertions(+), 28 deletions(-)
create mode 100755 test/app-tap/gh-4491-coio-wait-leads-to-segfault.test.lua
create mode 100644 test/unit/core_test_utils.c
--
2.25.0
More information about the Tarantool-patches
mailing list