From: Igor Munkin <imun@tarantool.org> To: Sergey Ostanevich <sergos@tarantool.org> Cc: tarantool-patches@dev.tarantool.org, Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH] fiber: abort trace recording on fiber yield Date: Mon, 21 Sep 2020 22:23:21 +0300 [thread overview] Message-ID: <20200921192321.GO18920@tarantool.org> (raw) In-Reply-To: <B87A9857-057A-4A25-ADCD-EB97347D14D6@tarantool.org> Sergos, Thanks for your review! Please, consider my comments below. On 10.07.20, sergos@tarantool.org wrote: > Hi! > > Thanks for the patch and investigation! > > > > On 8 Jul 2020, at 01:24, Igor Munkin <imun@tarantool.org> wrote: > > > > Vlad, > > > > Thanks for your review! > > > > On 01.04.20, Vladislav Shpilevoy wrote: > >> Hi! Thanks for the patch! > >> > >> See 7 comments below. > >> <snipped> > > > >> > >> Why can't we call lj_trace_abort() directly? > > > > It's the internal API. Its usage complicates a switch between various > > LuaJIT implementations (we faced several challenges when tried to build > > Tarantool with uJIT). There is a public API to be used here (though in a > > bit hacky way). > > This hacky way looks fragile, since luaJIT_setmode() may change its behaviour > in the future and cause some unpredictable result. We have to mention it > somewhere as a warninig for future LuaJIT updates from upstream. For example, > introduce a comment inside luaJIT_setmode() that will conflict with plain > patch. We discussed this in the nearby thread[1] with Vlad and finally came to the solution with <lj_trace_abort>. I dropped several comments regarding the rationale for the fix in v2 version. > <snipped> > > > > Looks like this way is slower than the one implemented via triggers. > > But does it catch more cases, as Vlad supposed? Do you have an extra > test for it? I provided several benchmarks results in the nearby thread[2]. For the chosen solution (via internal macro) it has almost no performance degradation (omitting the noise). > > Also, I would like to see the impact on some ‘real’ test - such as box > insertion/select or so? I tried yours benchmark[3] and got the following numbers: * Vanilla (insert per second): | min (15 runs): 809387.28574453 | median (15 runs): 822854.30884267 | mean (15 runs): 821996.668288715 | max (15 runs): 837764.83604149 * Patched (insert per second): | min (15 runs): 816005.94236505 | median (15 runs): 829281.27443029 | mean (15 runs): 828522.48986598 | max (15 runs): 839318.90025576 Em... It looks like a performance improvement, doesn't it? It seems like a compiler side-effect (e.g. invalid traces blacklisting), but I didn't make a deep investigation for this. > > > Regards, > Sergos > <snipped> > [1]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-September/019306.html [2]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-September/019521.html [3]: https://gist.github.com/sergos/feb397ed4d5a5f739ee501f768da31e6 -- Best regards, IM
next prev parent reply other threads:[~2020-09-21 19:33 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-30 22:44 Igor Munkin 2020-03-31 16:58 ` Konstantin Osipov 2020-03-31 23:57 ` Vladislav Shpilevoy 2020-07-07 22:24 ` Igor Munkin 2020-07-10 10:26 ` sergos 2020-09-21 19:23 ` Igor Munkin [this message] 2020-09-21 20:14 ` Sergey Ostanevich 2020-07-11 20:28 ` Vladislav Shpilevoy 2020-09-07 20:35 ` Igor Munkin 2020-09-17 14:21 ` Vladislav Shpilevoy 2020-09-19 15:29 ` Igor Munkin 2020-09-21 20:31 ` Vladislav Shpilevoy
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=20200921192321.GO18920@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] fiber: abort trace recording on fiber yield' \ /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