[Tarantool-patches] [PATCH luajit v7] memprof: introduce cli flag to run dump parser

Maxim Kokryashkin m.kokryashkin at tarantool.org
Wed Aug 2 11:32:57 MSK 2023


Igor,

On Wed, Aug 02, 2023 at 08:12:50AM +0000, Igor Munkin wrote:
> Max,
> 
> On 02.08.23, Maxim Kokryashkin wrote:
> > Hi, Igor!
> > 
> > Well, I see no obstacles with flag handling in Tarantool.
> > For instance, the -j flag proxy can do exactly what you want.
> > 
> > | review/tarantool/build  fckxorg/gh-5688-cli-for-memprof-parse ✔                                                                                                                                   239d16h
> > | ▶ ./src/tarantool -j on -e 'print(jit.status())'
> > | true	fold	cse	dce	fwd	dse	narrow	loop	abc	sink	fuse
> > |
> > | review/tarantool/build  fckxorg/gh-5688-cli-for-memprof-parse ✔                                                                                                                                   239d16h
> > | ▶ ./src/tarantool -j off -e 'print(jit.status())'
> > | false	fold	cse	dce	fwd	dse	narrow	loop	abc	sink	fuse
> > 
> 
> My bad, I'm concerted rather about this difference and its effect in
> Tarantool flags processing:
> | $ ./luajit -bl -e 'print("qq")'
> | -- BYTECODE -- "print("qq")":0-1
> | 0001    GGET     0   0      ; "print"
> | 0002    KSTR     1   1      ; "qq"
> | 0003    CALL     0   1   2
> | 0004    RET0     0   1
> | 
> | $ cd ../src/tools
> | $ ../src/luajit -tm -e 'print("qq")'
> | luajit-parse-memprof.lua: ERROR: unrecognized option `-e'. Try `--help'.
> | 
> 
> In other words, I wonder
> * whether flags in Tarantool are position independent (i.e. the result
>   of -j + -e combination equals to -e + -j);

| review/tarantool/build  fckxorg/gh-5688-cli-for-memprof-parse ✔                                                                                                                                   239d17h
| ▶ ./src/tarantool -e 'print(jit.status())' -jon
| false	fold	cse	dce	fwd	dse	narrow	loop	abc	sink	fuse
|
| review/tarantool/build  fckxorg/gh-5688-cli-for-memprof-parse ✔                                                                                                                                   239d17h
| ▶ ./src/tarantool -jon  -e 'print(jit.status())'
| true	fold	cse	dce	fwd	dse	narrow	loop	abc	sink	fuse
So no, they are not position-independent.

> * how --leak-only will be handled in this case.
I can just pass further args after the -tm right to the memprof parser module then.

> 
> BTW, I have a thought regarding introducing kinda "mode" for memprof, so
> we can use it like -tm=leak-only (as an alternative to the original
> proposal in the first message).
> 
> Besides, I see no tests for --leak-only (have no idea, why everyone
> missed this on review). Could you add them?
Yep, sure.
> 
> > Tarantool's flag handling is not pleasant to say the least,
> > but we should try to do the same as with -j.
> > 
> > Best regards,
> > Maxim Kokryashkin
> > 
> > 
> > On Wed, Aug 02, 2023 at 07:23:03AM +0000, Igor Munkin wrote:
> > > Max,
> > > 
> > > We've discussed with Sergey K. how to run -tm with --leak-only today.
> > > Fortunately, it works fine in LuaJIT, however, I'm afraid such flag
> > > handling in incompatible in Tarantool. Hence, I suggest to glue this
> > > flag with comma to -tm, like jdump does[1]. Thoughts?
> > > 
> > > [1]: https://github.com/tarantool/luajit/blob/tarantool/master/src/jit/dump.lua#L18
> > > 
> > > -- 
> > > Best regards,
> > > IM
> 
> -- 
> Best regards,
> IM


More information about the Tarantool-patches mailing list