From: Igor Munkin <imun@tarantool.org> To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>, Sergey Ostanevich <sergos@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: [Tarantool-patches] [PATCH v2 0/2] Prevent JIT engine breakage on fibers switch-over Date: Wed, 23 Sep 2020 22:06:17 +0300 [thread overview] Message-ID: <cover.1600862684.git.imun@tarantool.org> (raw) 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
next reply other threads:[~2020-09-23 19:16 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-23 19:06 Igor Munkin [this message] 2020-09-23 19:06 ` [Tarantool-patches] [PATCH v2 1/2] fiber: introduce a callback for " Igor Munkin 2020-09-24 12:54 ` sergos 2020-09-28 13:06 ` Igor Munkin 2020-09-29 9:15 ` Sergey Ostanevich 2020-09-29 10:05 ` Igor Munkin 2020-09-29 22:41 ` Vladislav Shpilevoy 2020-09-30 9:30 ` Igor Munkin 2020-09-30 22:00 ` Vladislav Shpilevoy 2020-09-23 19:06 ` [Tarantool-patches] [PATCH v2 2/2] lua: abort trace recording on fiber yield Igor Munkin 2020-09-24 13:00 ` sergos 2020-09-28 13:07 ` Igor Munkin 2020-09-28 15:36 ` Igor Munkin 2020-09-28 16:37 ` Igor Munkin 2020-09-28 17:45 ` Igor Munkin 2020-09-29 9:24 ` Sergey Ostanevich 2020-09-29 10:06 ` Igor Munkin 2020-09-29 22:41 ` Vladislav Shpilevoy 2020-09-30 6:27 ` Igor Munkin 2020-09-30 21:59 ` Vladislav Shpilevoy 2020-10-01 6:14 ` Igor Munkin 2020-09-24 13:15 ` [Tarantool-patches] [PATCH v2 0/2] Prevent JIT engine breakage on fibers switch-over sergos 2020-09-28 13:06 ` Igor Munkin 2020-09-29 9:14 ` Sergey Ostanevich 2020-10-01 21:25 ` Vladislav Shpilevoy 2020-10-01 21:29 ` Igor Munkin 2020-10-01 22:17 ` Igor Munkin 2020-10-02 12:43 ` Kirill Yukhin 2020-10-02 12:44 ` Igor Munkin
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=cover.1600862684.git.imun@tarantool.org \ --to=imun@tarantool.org \ --cc=sergos@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2 0/2] Prevent JIT engine breakage on fibers switch-over' \ /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