Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py
@ 2022-01-31 21:33 Igor Munkin via Tarantool-patches
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

This series provides several minor but vital enhancements for <lj-gc>
and <lj-stack> commands. For more info please proceed to the particular
commit message.

Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements
CI is red[1], but... em... I didn't dig the particular reasons for its
failure, since all of them looks to be related to our infra.

Since we have no CI for luajit-gdb.py, one can try the following test
scenario:
| $ ./tarantool -v
| Tarantool 2.10.0-beta2-73-g10acda7b5
| Target: Linux-x86_64-Debug
| Build options: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_BACKTRACE=ON
| Compiler: /usr/bin/cc /usr/bin/c++
| C_FLAGS: -fexceptions -funwind-tables -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2 -std=c11 -Wall -Wextra -Wno-strict-aliasing -Wno-char-subscripts -Wno-format-truncation -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -Werror
| CXX_FLAGS: -fexceptions -funwind-tables -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2 -std=c++11 -Wall -Wextra -Wno-strict-aliasing -Wno-char-subscripts -Wno-format-truncation -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -Werror
| $ gdb ./tarantool
| GNU gdb (Gentoo 11.1 vanilla) 11.1
|
| <snipped>
|
| Reading symbols from ./tarantool...
| (gdb) r
| Starting program: /tarantool/src/tarantool 
| [Thread debugging using libthread_db enabled]
| Using host libthread_db library "/lib64/libthread_db.so.1".
| Tarantool 2.10.0-beta2-73-g10acda7b5
| type 'help' for interactive help
| tarantool> ffi = require 'ffi'
| ---
| ...
|
| tarantool> ffi.cdef('struct x { int i; };')
| ---
| ...
|
| tarantool> a = ffi.gc(ffi.new('struct x', { i = 1 }), function(self) self.i = 0 end)
| ---
| ...
|
| tarantool> b = ffi.gc(ffi.new('struct x', { i = 2 }), function(self) self.i = 0 end)
| ---
| ...
|
| tarantool> a = nil
| ---
| ...
|
| tarantool> b = nil
| ---
| ...
|
| tarantool>
| Program received signal SIGINT, Interrupt.
| 0x00007ffff5684536 in epoll_wait () from /lib64/libc.so.6
| (gdb) b lj_cf_collectgarbage
| Breakpoint 1 at 0x55555583468f: file /tarantool/third_party/luajit/src/lib_base.c, line 437.
| (gdb) c
| Continuing.
| collectgarbage()
|
| Breakpoint 1, lj_cf_collectgarbage (L=0x400004a0) at /tarantool/third_party/luajit/src/lib_base.c:437
| 437     {
| (gdb) s
| 438       int opt = lj_lib_checkopt(L, 1, LUA_GCCOLLECT,  /* ORDER LUA_GC* */
| (gdb) source ../third_party/luajit/src/luajit-gdb.py
| lj-arch command initialized
| lj-tv command initialized
| lj-str command initialized
| lj-tab command initialized
| lj-stack command initialized
| lj-state command initialized
| lj-gc command initialized
| luajit-gdb.py is successfully loaded
| (gdb) lj-stack L
| ----------- Red zone:  5 slots -----------
| 0x40047fc0            [    ] VALUE: nil
| 0x40047fb8            [    ] VALUE: nil
| 0x40047fb0            [    ] VALUE: nil
| 0x40047fa8            [    ] VALUE: nil
| 0x40047fa0            [    ] VALUE: nil
| ----------- Stack:   168 slots -----------
| 0x40047f98            [   M] VALUE: nil
| 0x40047ae0:0x40047f90 [    ] 151 slots: Free stack slots
| 0x40047ad8            [ BT ] VALUE: number 2.3873090119523254e-313
| 0x40047ad0            [    ] FRAME: [PP] delta=1, fast function #27
| 0x40047ac8            [    ] FRAME: [L] delta=7, fast function #20
| 0x40047ac0            [    ] VALUE: Lua function @ 0x400c00b0, 2 upvalues, "@builtin/box/console.lua":243
| 0x40047ab8            [    ] VALUE: nil
| 0x40047ab0            [    ] VALUE: Lua function @ 0x4013b010, 0 upvalues, "return collectgarbage()":0
| 0x40047aa8            [    ] VALUE: nil
| 0x40047aa0            [    ] VALUE: string "collectgarbage()" @ 0x40149538
| 0x40047a98            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a90            [    ] FRAME: [LP] delta=3, Lua function @ 0x4014fe30, 3 upvalues, "@builtin/box/console.lua":379
| 0x40047a88            [    ] VALUE: string "collectgarbage()" @ 0x40149538
| 0x40047a80            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a78            [    ] FRAME: [L] delta=3, Lua function @ 0x40075aa8, 1 upvalues, "@builtin/box/console.lua":701
| 0x40047a70            [    ] VALUE: string "/home/imun" @ 0x400ff388
| 0x40047a68            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a60            [    ] FRAME: [CP] delta=1, Lua function @ 0x4014d0c8, 5 upvalues, "@builtin/box/console.lua":746
| 0x40047a58            [S   ] FRAME: dummy L
| (gdb) lj-gc
| GC stats: PAUSE
|         total: 1211508
|         threshold: 1977000
|         debt: 0
|         estimate: 988555
|         stepmul: 200
|         pause: 200
|         sweepstr: 8192/8192
|         root: 6774 objects
|         gray: 0 objects
|         grayagain: 21 objects
|         weak: 20 objects
|         mmudata: 0 objects
| (gdb) b gc_finalize
| Breakpoint 2 at 0x55555581d67b: file /tarantool/third_party/luajit/src/lj_gc.c, line 511.
| (gdb) c
| Continuing.
|
| Breakpoint 2, gc_finalize (L=0x4019a6b8) at /tarantool/third_party/luajit/src/lj_gc.c:511
| 511     {
| (gdb) lj-gc
| GC stats: FINALIZE
|         total: 1055138
|         threshold: 1977000
|         debt: 0
|         estimate: 1055138
|         stepmul: 200
|         pause: 200
|         sweepstr: 8192/8192
|         root: 6468 objects
|         gray: 0 objects
|         grayagain: 1120 objects
|         weak: 20 objects
|         mmudata: 2 objects

Igor Munkin (2):
  gdb: unwind Lua stack top part
  gdb: add mmudata value to lj-gc output

 src/luajit-gdb.py | 67 +++++++++++++++++++++++++++++++----------------
 1 file changed, 44 insertions(+), 23 deletions(-)

[1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci

-- 
2.34.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part
  2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
@ 2022-01-31 21:33 ` Igor Munkin via Tarantool-patches
  2022-02-09 10:14   ` Sergey Kaplun via Tarantool-patches
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

Prior to this patch the dump of Lua stack top (or bottom if we consider
address growth direction) part was almost hardcoded except the number of
its free slots. This leads to the following drawbacks of <lj-stack>
command:
* Red zone stack slots are collapsed like the way similar to free stack
  slots are except for the single difference: one needs to use <lj-tv>
  to inspect them regardless the fact they are used or not.
* Top slot is hardcoded, that is confusing in case both base and top
  point to a single slot (e.g. function call with no arguments given).

As a result of these changes red zone slots are dumped unconditionally
on the top of the stack dump and top slot is unwound like the occupied
slots are. The only artefact of the latter is the possible garbage
printed as the top slot value. One can find the new example of
<lj-stack> output below:

| (gdb) lj-stack L
| ----------- Red zone:  5 slots -----------
| 0x40047fc0            [    ] VALUE: nil
| 0x40047fb8            [    ] VALUE: nil
| 0x40047fb0            [    ] VALUE: nil
| 0x40047fa8            [    ] VALUE: nil
| 0x40047fa0            [    ] VALUE: nil
| ----------- Stack:   168 slots -----------
| 0x40047f98            [   M] VALUE: nil
| 0x40047ae0:0x40047f90 [    ] 151 slots: Free stack slots
| 0x40047ad8            [ BT ] VALUE: number 2.3873123941281106e-313
| 0x40047ad0            [    ] FRAME: [PP] delta=1, fast function #27
| 0x40047ac8            [    ] FRAME: [L] delta=7, fast function #20
| 0x40047ac0            [    ] VALUE: Lua function @ 0x400c00b0, 2 upvalues, "@builtin/box/console.lua":243
| 0x40047ab8            [    ] VALUE: nil
| 0x40047ab0            [    ] VALUE: Lua function @ 0x4014bb78, 0 upvalues, "return collectgarbage()":0
| 0x40047aa8            [    ] VALUE: nil
| 0x40047aa0            [    ] VALUE: string "collectgarbage()" @ 0x40116660
| 0x40047a98            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a90            [    ] FRAME: [LP] delta=3, Lua function @ 0x4014fe30, 3 upvalues, "@builtin/box/console.lua":379
| 0x40047a88            [    ] VALUE: string "collectgarbage()" @ 0x40116660
| 0x40047a80            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a78            [    ] FRAME: [L] delta=3, Lua function @ 0x40075aa8, 1 upvalues, "@builtin/box/console.lua":701
| 0x40047a70            [    ] VALUE: string "/home/imun" @ 0x400ff388
| 0x40047a68            [    ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1)
| 0x40047a60            [    ] FRAME: [CP] delta=1, Lua function @ 0x4014d0c8, 5 upvalues, "@builtin/box/console.lua":746
| 0x40047a58            [S   ] FRAME: dummy L

Signed-off-by: Igor Munkin <imun@tarantool.org>
---
 src/luajit-gdb.py | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py
index 4488775c..758ba10c 100644
--- a/src/luajit-gdb.py
+++ b/src/luajit-gdb.py
@@ -391,47 +391,49 @@ def dump_framelink(L, fr):
         f = dump_lj_tfunc(fr),
     )
 
-def dump_stack_slot(L, slot, base=None, top=None):
+def dump_stack_slot(L, slot, base=None, top=None, eol='\n'):
     base = base or L['base']
     top = top or L['top']
 
-    return '{addr}{padding} [ {B}{T}{M}] VALUE: {value}\n'.format(
+    return '{addr}{padding} [ {B}{T}{M}] VALUE: {value}{eol}'.format(
         addr = strx64(slot),
         padding = PADDING,
         B = 'B' if slot == base else ' ',
         T = 'T' if slot == top else ' ',
         M = 'M' if slot == mref('TValue *', L['maxstack']) else ' ',
         value = dump_tvalue(slot),
+        eol = eol,
     )
 
 def dump_stack(L, base=None, top=None):
     base = base or L['base']
     top = top or L['top']
+    stack = mref('TValue *', L['stack'])
     maxstack = mref('TValue *', L['maxstack'])
     red = 5 + 2 * LJ_FR2
 
     dump = '\n'.join([
-        '{start}:{end} [    ] {n} slots: Red zone'.format(
-             start = strx64(maxstack + 1),
-             end = strx64(maxstack + red),
-             n = red,
+        '{padding} Red zone: {nredslots: >2} slots {padding}'.format(
+            padding = '-' * len(PADDING),
+            nredslots = red,
         ),
-        '{maxstack}{padding} [   M]'.format(
-            maxstack = strx64(maxstack),
-            padding = PADDING,
+        *(
+            dump_stack_slot(L, maxstack + offset, base, top, '')
+                for offset in range(red, 0, -1)
         ),
+        '{padding} Stack: {nstackslots: >5} slots {padding}'.format(
+            padding = '-' * len(PADDING),
+            nstackslots = int((tou64(maxstack) - tou64(stack)) >> 3),
+        ),
+        dump_stack_slot(L, maxstack, base, top, ''),
         '{start}:{end} [    ] {nfreeslots} slots: Free stack slots'.format(
             start = strx64(top + 1),
             end = strx64(maxstack - 1),
             nfreeslots = int((tou64(maxstack) - tou64(top) - 8) >> 3),
         ),
-        '{top}{padding} [  T ]'.format(
-            top = strx64(top),
-            padding = PADDING,
-        )
     ]) + '\n'
 
-    slot = top - 1
+    slot = top
     framelink = base - (1 + LJ_FR2)
 
     # XXX: Lua stack unwinding algorithm consists of the following steps:
@@ -447,7 +449,7 @@ def dump_stack(L, base=None, top=None):
         dump += dump_stack_slot(L, slot, base, top)
         slot -= 1
 
-    while framelink > mref('TValue *', L['stack']):
+    while framelink > stack:
         assert slot == framelink + LJ_FR2, "Invalid slot during frame unwind"
         dump += dump_framelink(L, framelink)
         framelink = frame_prev(framelink + LJ_FR2) - LJ_FR2
-- 
2.34.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output
  2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches
@ 2022-01-31 21:33 ` Igor Munkin via Tarantool-patches
  2022-02-09 10:29   ` Sergey Kaplun via Tarantool-patches
  2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
  2022-02-11 20:42 ` Igor Munkin via Tarantool-patches
  3 siblings, 1 reply; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

As a result of this patch <g->gc.mmudata> value representing the amount
of GC object to be finalized is added to <lj-gc> output. All auxiliary
routines are also adjusted a bit since these GC objects are grouped in a
ring-list.

Signed-off-by: Igor Munkin <imun@tarantool.org>
---
 src/luajit-gdb.py | 35 +++++++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py
index 758ba10c..baf66f66 100644
--- a/src/luajit-gdb.py
+++ b/src/luajit-gdb.py
@@ -179,6 +179,9 @@ def gcval(obj):
     return cast('GCobj *', obj['gcptr64'] & LJ_GCVMASK if LJ_GC64
         else cast('uintptr_t', obj['gcptr32']))
 
+def gcnext(obj):
+    return gcref(obj)['gch']['nextgc']
+
 def L(L=None):
     # lookup a symbol for the main coroutine considering the host app
     # XXX Fragile: though the loop initialization looks like a crap but it
@@ -272,13 +275,30 @@ def funcproto(func):
     return cast('GCproto *',
         mref('char *', func['pc']) - gdb.lookup_type('GCproto').sizeof)
 
-def gclistlen(root):
+def gclistlen(root, end=0x0):
     count = 0
-    while(gcref(root)):
+    while(gcref(root) != end):
         count += 1
-        root = gcref(root)['gch']['nextgc']
+        root = gcnext(root)
     return count
 
+def gcringlen(root):
+    if not gcref(root):
+        return 0
+    elif gcref(root) == gcref(gcnext(root)):
+        return 1
+    else:
+        return 1 + gclistlen(gcnext(root), gcref(root))
+
+gclen = {
+    'root': gclistlen,
+    'gray': gclistlen,
+    'grayagain': gclistlen,
+    'weak': gclistlen,
+    # XXX: gc.mmudata is a ring-list.
+    'mmudata': gcringlen,
+}
+
 # Dumpers {{{
 
 def dump_lj_tnil(tv):
@@ -482,11 +502,9 @@ def dump_gc(g):
     ) ]
 
     stats += [ '{key}: {number} objects'.format(
-        key = f,
-        number = gclistlen(gc[f]),
-    ) for f in ('root', 'gray', 'grayagain', 'weak') ]
-
-    # TODO: mmudata
+        key = stat,
+        number = handler(gc[stat])
+    ) for stat, handler in gclen.items() ]
 
     return '\n'.join(map(lambda s: '\t' + s, stats))
 
@@ -686,6 +704,7 @@ The command requires no args and dumps current GC stats:
 * gray: <number of gray objects>
 * grayagain: <number of objects for atomic traversal>
 * weak: <number of weak tables (to be cleared)>
+* mmudata: <number of udata|cdata to be finalized>
     '''
 
     def invoke(self, arg, from_tty):
-- 
2.34.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py
  2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches
@ 2022-02-01 10:17 ` Igor Munkin via Tarantool-patches
  2022-02-11 20:42 ` Igor Munkin via Tarantool-patches
  3 siblings, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-01 10:17 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

On 01.02.22, Igor Munkin wrote:
> This series provides several minor but vital enhancements for <lj-gc>
> and <lj-stack> commands. For more info please proceed to the particular
> commit message.
> 
> Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements
> CI is red[1], but... em... I didn't dig the particular reasons for its
> failure, since all of them looks to be related to our infra.

Hocus pocus, CI is green now!

> 

<snipped>

> 
> [1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci
> 
> -- 
> 2.34.0
> 

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches
@ 2022-02-09 10:14   ` Sergey Kaplun via Tarantool-patches
  2022-02-09 18:02     ` Maxim Kokryashkin via Tarantool-patches
  2022-02-11 19:11     ` Igor Munkin via Tarantool-patches
  0 siblings, 2 replies; 13+ messages in thread
From: Sergey Kaplun via Tarantool-patches @ 2022-02-09 10:14 UTC (permalink / raw)
  To: Igor Munkin; +Cc: tarantool-patches

Hi, Igor!

Thanks for the patch!

LGTM.

-- 
Best regards,
Sergey Kaplun

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output
  2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches
@ 2022-02-09 10:29   ` Sergey Kaplun via Tarantool-patches
  2022-02-09 18:11     ` Maxim Kokryashkin via Tarantool-patches
  2022-02-11 19:12     ` Igor Munkin via Tarantool-patches
  0 siblings, 2 replies; 13+ messages in thread
From: Sergey Kaplun via Tarantool-patches @ 2022-02-09 10:29 UTC (permalink / raw)
  To: Igor Munkin; +Cc: tarantool-patches

Hi, Igor!

Thanks for the patch!

LGTM, except a single nit regarding commit message below.

On 01.02.22, Igor Munkin wrote:
> As a result of this patch <g->gc.mmudata> value representing the amount
> of GC object to be finalized is added to <lj-gc> output. All auxiliary

Typo: s/to <lj-gc> output/to the <lj-gc> output/

> routines are also adjusted a bit since these GC objects are grouped in a
> ring-list.
> 
> Signed-off-by: Igor Munkin <imun@tarantool.org>
> ---
>  src/luajit-gdb.py | 35 +++++++++++++++++++++++++++--------
>  1 file changed, 27 insertions(+), 8 deletions(-)
> 
> diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py
> index 758ba10c..baf66f66 100644
> --- a/src/luajit-gdb.py
> +++ b/src/luajit-gdb.py

<snipped>

> -- 
> 2.34.0
> 

-- 
Best regards,
Sergey Kaplun

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches]  [PATCH 1/2] gdb: unwind Lua stack top part
  2022-02-09 10:14   ` Sergey Kaplun via Tarantool-patches
@ 2022-02-09 18:02     ` Maxim Kokryashkin via Tarantool-patches
  2022-02-11 19:11       ` Igor Munkin via Tarantool-patches
  2022-02-11 19:11     ` Igor Munkin via Tarantool-patches
  1 sibling, 1 reply; 13+ messages in thread
From: Maxim Kokryashkin via Tarantool-patches @ 2022-02-09 18:02 UTC (permalink / raw)
  To: Sergey Kaplun; +Cc: tarantool-patches

[-- Attachment #1: Type: text/plain, Size: 257 bytes --]


Hi, Igor!
Thanks for the patch!
LGTM
 
Best regards,
Maxim Kokryashkin
  
>Среда, 9 февраля 2022, 13:16 +03:00 от Sergey Kaplun <skaplun@tarantool.org>:
> 
>Hi, Igor!
>
>Thanks for the patch!
>
>LGTM.
>
>--
>Best regards,
>Sergey Kaplun
 

[-- Attachment #2: Type: text/html, Size: 4450 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches]  [PATCH 2/2] gdb: add mmudata value to lj-gc output
  2022-02-09 10:29   ` Sergey Kaplun via Tarantool-patches
@ 2022-02-09 18:11     ` Maxim Kokryashkin via Tarantool-patches
  2022-02-11 19:12       ` Igor Munkin via Tarantool-patches
  2022-02-11 19:12     ` Igor Munkin via Tarantool-patches
  1 sibling, 1 reply; 13+ messages in thread
From: Maxim Kokryashkin via Tarantool-patches @ 2022-02-09 18:11 UTC (permalink / raw)
  To: Sergey Kaplun; +Cc: tarantool-patches

[-- Attachment #1: Type: text/plain, Size: 997 bytes --]


Hi, Igor!
Thanks for the patch!
LGTM
--
Best regards,
Maxim Kokryashkin
 
  
>Среда, 9 февраля 2022, 13:31 +03:00 от Sergey Kaplun <skaplun@tarantool.org>:
> 
>Hi, Igor!
>
>Thanks for the patch!
>
>LGTM, except a single nit regarding commit message below.
>
>On 01.02.22, Igor Munkin wrote:
>> As a result of this patch <g->gc.mmudata> value representing the amount
>> of GC object to be finalized is added to <lj-gc> output. All auxiliary
>
>Typo: s/to <lj-gc> output/to the <lj-gc> output/
>
>> routines are also adjusted a bit since these GC objects are grouped in a
>> ring-list.
>>
>> Signed-off-by: Igor Munkin < imun@tarantool.org >
>> ---
>> src/luajit-gdb.py | 35 +++++++++++++++++++++++++++--------
>> 1 file changed, 27 insertions(+), 8 deletions(-)
>>
>> diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py
>> index 758ba10c..baf66f66 100644
>> --- a/src/luajit-gdb.py
>> +++ b/src/luajit-gdb.py
>
><snipped>
>
>> --
>> 2.34.0
>>
>
>--
>Best regards,
>Sergey Kaplun
 

[-- Attachment #2: Type: text/html, Size: 1631 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part
  2022-02-09 10:14   ` Sergey Kaplun via Tarantool-patches
  2022-02-09 18:02     ` Maxim Kokryashkin via Tarantool-patches
@ 2022-02-11 19:11     ` Igor Munkin via Tarantool-patches
  1 sibling, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:11 UTC (permalink / raw)
  To: Sergey Kaplun; +Cc: tarantool-patches

Sergey,

Thanks for your review!

On 09.02.22, Sergey Kaplun wrote:
> Hi, Igor!
> 
> Thanks for the patch!
> 
> LGTM.

Added your tag:
| Reviewed-by: Sergey Kaplun <skaplun@tarantool.org>

> 
> -- 
> Best regards,
> Sergey Kaplun

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part
  2022-02-09 18:02     ` Maxim Kokryashkin via Tarantool-patches
@ 2022-02-11 19:11       ` Igor Munkin via Tarantool-patches
  0 siblings, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:11 UTC (permalink / raw)
  To: Maxim Kokryashkin; +Cc: tarantool-patches

Max,

Thanks for your review!

On 09.02.22, Maxim Kokryashkin wrote:
> 
> Hi, Igor!
> Thanks for the patch!
> LGTM

Added your tag:
| Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>

>  
> Best regards,
> Maxim Kokryashkin
>   

<snipped>

>  

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output
  2022-02-09 10:29   ` Sergey Kaplun via Tarantool-patches
  2022-02-09 18:11     ` Maxim Kokryashkin via Tarantool-patches
@ 2022-02-11 19:12     ` Igor Munkin via Tarantool-patches
  1 sibling, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:12 UTC (permalink / raw)
  To: Sergey Kaplun; +Cc: tarantool-patches

Sergey,

Thanks for your review!

On 09.02.22, Sergey Kaplun wrote:
> Hi, Igor!
> 
> Thanks for the patch!
> 
> LGTM, except a single nit regarding commit message below.

Added your tag:
| Reviewed-by: Sergey Kaplun <skaplun@tarantool.org>

> 
> On 01.02.22, Igor Munkin wrote:
> > As a result of this patch <g->gc.mmudata> value representing the amount
> > of GC object to be finalized is added to <lj-gc> output. All auxiliary
> 
> Typo: s/to <lj-gc> output/to the <lj-gc> output/

Well, I almost sure there is no need for the definite article here.
Ignoring.

> 
> > routines are also adjusted a bit since these GC objects are grouped in a
> > ring-list.
> > 

<snipped>

> 
> -- 
> Best regards,
> Sergey Kaplun

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output
  2022-02-09 18:11     ` Maxim Kokryashkin via Tarantool-patches
@ 2022-02-11 19:12       ` Igor Munkin via Tarantool-patches
  0 siblings, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:12 UTC (permalink / raw)
  To: Maxim Kokryashkin; +Cc: tarantool-patches

Max,

Thanks for your review!

On 09.02.22, Maxim Kokryashkin wrote:
> 
> Hi, Igor!
> Thanks for the patch!
> LGTM

Added your tag:
| Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>

> --
> Best regards,
> Maxim Kokryashkin
>  

<snipped>

>  

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py
  2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
                   ` (2 preceding siblings ...)
  2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
@ 2022-02-11 20:42 ` Igor Munkin via Tarantool-patches
  3 siblings, 0 replies; 13+ messages in thread
From: Igor Munkin via Tarantool-patches @ 2022-02-11 20:42 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

I've checked the patch into all long-term branches in tarantool/luajit
and bumped a new version in 1.10, 2.8 and master.

On 01.02.22, Igor Munkin wrote:
> This series provides several minor but vital enhancements for <lj-gc>
> and <lj-stack> commands. For more info please proceed to the particular
> commit message.
> 
> Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements
> CI is red[1], but... em... I didn't dig the particular reasons for its
> failure, since all of them looks to be related to our infra.
> 

<snipped>

> 
> Igor Munkin (2):
>   gdb: unwind Lua stack top part
>   gdb: add mmudata value to lj-gc output
> 
>  src/luajit-gdb.py | 67 +++++++++++++++++++++++++++++++----------------
>  1 file changed, 44 insertions(+), 23 deletions(-)
> 
> [1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci
> 
> -- 
> 2.34.0
> 

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-02-11 20:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches
2022-02-09 10:14   ` Sergey Kaplun via Tarantool-patches
2022-02-09 18:02     ` Maxim Kokryashkin via Tarantool-patches
2022-02-11 19:11       ` Igor Munkin via Tarantool-patches
2022-02-11 19:11     ` Igor Munkin via Tarantool-patches
2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches
2022-02-09 10:29   ` Sergey Kaplun via Tarantool-patches
2022-02-09 18:11     ` Maxim Kokryashkin via Tarantool-patches
2022-02-11 19:12       ` Igor Munkin via Tarantool-patches
2022-02-11 19:12     ` Igor Munkin via Tarantool-patches
2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches
2022-02-11 20:42 ` Igor Munkin via Tarantool-patches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox