Tarantool development patches archive
 help / color / mirror / Atom feed
From: Igor Munkin via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Mikhail Shishatskiy <m.shishatskiy@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH luajit v2] memprof: enrich symtab when new trace is allocated
Date: Tue, 12 Apr 2022 17:29:52 +0300	[thread overview]
Message-ID: <YlWM4AfC4gP+gdMB@tarantool.org> (raw)
In-Reply-To: <20211208172207.80148-1-m.shishatskiy@tarantool.org>

Misha,

Thanks for the patch!

I've fixed few issues I've found by myself, LGTM otherwise. CI is
green[1], so I've I've checked the patch into tarantool branch in
tarantool/luajit and bumped a new version in master.

On 08.12.21, Mikhail Shishatskiy wrote:
> Since symtab can be enriched with new prototypes, it
> can be enriched with new traces as well. This feature
> can help to investigate trace-generation-heavy apps
> with memprof.
> 
> This patch introduces the functionality described above by
> adding a `prof_epoch` counter to the `GCtrace` structure.
> If the profiler meets allocation from a trace, it checks if
> the trace was already streamed to the symtab. If not,
> a symtab entry is dumped inside an <event-symtab>:
> 
> | event-symtab := event-header sym?
> | sym := sym-lua | sym-trace
> | sym-trace := trace-no sym-addr line-no
> 
> Since this patch, traces are no longer identified by address,
> as all the name collisions are resolved with symbols epochs.
> 
> Also, the API of <utils/symtab.lua> changed: function `parse_sym_trace`
> is now public in order to use it from the <memrprof/parser.lua> module.
> 
> Follows up tarantool/tarantool#5815
> ---
> 
> CI: https://github.com/tarantool/tarantool/tree/shishqa/enrich-symtab-when-trace-is-allocated-v2
> branch: https://github.com/tarantool/luajit/tree/shishqa/enrich-symtab-when-trace-is-allocated-v2
> 
>  src/lj_jit.h                                  |  8 +++++++
>  src/lj_memprof.c                              | 22 +++++++++++++------
>  src/lj_memprof.h                              |  5 +++--
>  src/lj_trace.c                                |  3 +++
>  .../misclib-memprof-lapi.test.lua             | 13 +++++------
>  tools/memprof/parse.lua                       |  3 ++-
>  tools/utils/symtab.lua                        | 14 ++++--------
>  7 files changed, 41 insertions(+), 27 deletions(-)
> 

> -- 
> 2.33.1
> 

[1]: https://github.com/tarantool/luajit/commit/11ab4c4

-- 
Best regards,
IM

      reply	other threads:[~2022-04-12 14:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-08 17:22 Mikhail Shishatskiy via Tarantool-patches
2022-04-12 14:29 ` Igor Munkin via Tarantool-patches [this message]

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=YlWM4AfC4gP+gdMB@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=m.shishatskiy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit v2] memprof: enrich symtab when new trace is allocated' \
    /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