From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp21.mail.ru (smtp21.mail.ru [94.100.179.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 9D52D469719 for ; Thu, 24 Sep 2020 16:15:27 +0300 (MSK) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) From: "sergos@tarantool.org" In-Reply-To: Date: Thu, 24 Sep 2020 16:15:25 +0300 Content-Transfer-Encoding: quoted-printable Message-Id: <4AE5222F-22B2-4752-AD8C-E5C1CCF7FE13@tarantool.org> References: Subject: Re: [Tarantool-patches] [PATCH v2 0/2] Prevent JIT engine breakage on fibers switch-over List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Munkin Cc: tarantool-patches@dev.tarantool.org, Vladislav Shpilevoy Hi! Thanks for the patch, please consider my 2 cents below.=20 Sergos > On 23 Sep 2020, at 22:06, Igor Munkin wrote: >=20 > 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. >=20 > Changes in v2: > * implement the callback in a different way to negate its perf impact >=20 > @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 Could you please rephrase the last sentence to be more clear, like yielding from a function called directly from the jitted code (means - through FFI) will cause panic.=20 > (gh-1700, gh-4491). >=20 > Branch: = https://github.com/tarantool/tarantool/tree/imun/gh-1700-abort-recording-o= n-fiber-switch > Issues: > * https://github.com/tarantool/tarantool/issues/1700 > * https://github.com/tarantool/tarantool/issues/4491 >=20 > [1]: = https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/015290.= html > [2]: = https://gist.github.com/igormunkin/7e0cf48005bd003ffbdf30181eedb40e >=20 > Igor Munkin (2): > fiber: introduce a callback for fibers switch-over > lua: abort trace recording on fiber yield >=20 > 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 >=20 > --=20 > 2.25.0 >=20