From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 9E7896ECC0; Wed, 20 Apr 2022 15:58:10 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 9E7896ECC0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1650459490; bh=6hCoqK03NsOR6kJQg+BrvOaux95mHXDRBgiYo+Pi4Qw=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=kW0yIW/ZrZwGxhdv25k7HiAaE8gRFGSTSAcmmNOTrED4Kf0FP3a/vW7s0bhXioZxs Ud/GzIg+QM3mVvpz0UvTbT5pYp50Tk6NVkQyPC7/VsPyPAXtncogsSuOlAnogxSF9J WwYxAr8yJeefcL4Ls0zoWvP81uNGDvRj/0urOTek= Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 40A256ECC0 for ; Wed, 20 Apr 2022 15:58:07 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 40A256ECC0 Received: by mail-lj1-f170.google.com with SMTP id bf11so1709657ljb.7 for ; Wed, 20 Apr 2022 05:58:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vggHd0k+WMTqmb4sf5AKvk6fAkba75CuXwYUrYFMaMw=; b=NRtkFQtyj8jDfU7H0k5Z1uR9aBrh3z8QNz/t2fKepRf0U5Yn6eikcMK6+mz/tUiJuG YWAN1z5FN6Py6xiiR/CvYBMl4DayszY/0MEt272fAu9AmFBPhZKG5u4YKSCvNV9WIgFC l5pyLCHUCd3KMskw1wcClJYo9VQbxZ5acByzhc3tDzsHt9/rU4fsCYvwbWBkiK0FIoDz RsQQOvTvsfYanw44g/TbmfnPkMfp5qI2Qjv8+h4YHprKOcPp2VlMSigT0h3r649aoVX9 xEZLjhyVZ48m2BWcYN3VkGiXcLYryGPnUExjZ6rCKi4x6Nq5wjCC/jgyKF/+a43f8TSl ojqg== X-Gm-Message-State: AOAM531mKR8QSf+mkEHIIe7qU5qwrNof9ZlcHS/CpfewQvIq+QWq/ju9 xrHRUx0AJdaLx2DrdnSe666rL+9+IblsRA== X-Google-Smtp-Source: ABdhPJyz5+vbcKigzHpLzJXi00lHAUPnGfRy+cqKRpWFiKFW3PCdGPqI4AU75JlrwMtXmDdZydFHyw== X-Received: by 2002:a2e:a781:0:b0:24d:bd4e:aa1d with SMTP id c1-20020a2ea781000000b0024dbd4eaa1dmr8608834ljf.208.1650459487014; Wed, 20 Apr 2022 05:58:07 -0700 (PDT) Received: from localhost.localdomain ([93.175.28.57]) by smtp.gmail.com with ESMTPSA id o3-20020a198c03000000b00448b7b1780csm1824076lfd.63.2022.04.20.05.58.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Apr 2022 05:58:06 -0700 (PDT) X-Google-Original-From: Maxim Kokryashkin To: tarantool-patches@dev.tarantool.org, imun@tarantool.org, skaplun@tarantool.org Date: Wed, 20 Apr 2022 15:57:56 +0300 Message-Id: X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH luajit v5 0/7] introuduce platform profiler X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Maxim Kokryashkin via Tarantool-patches Reply-To: Maxim Kokryashkin Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Changes in v5: - Disabled sysprof for OSX - Fixed `memprof: add profile common section` patch non-atomicity GitHub branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-781-platform-and-lua-profiler-full-ci Maxim Kokryashkin (4): memprof: move symtab to a separate module memprof: add profile common section sysprof: introduce Lua API tools: introduce parsers for sysprof Mikhail Shishatskiy (3): vm: save topframe info into global_State core: separate the profiling timer from lj_profile core: introduce lua and platform profiler .gitignore | 1 + CMakeLists.txt | 6 + cmake/SetTargetFlags.cmake | 2 +- src/CMakeLists.txt | 3 + src/Makefile.dep.original | 51 +- src/Makefile.original | 6 +- src/lib_misc.c | 264 ++++++++- src/lj_arch.h | 11 + src/lj_errmsg.h | 2 +- src/lj_mapi.c | 26 + src/lj_memprof.c | 82 +-- src/lj_memprof.h | 49 +- src/lj_obj.h | 1 + src/lj_profile.c | 176 +----- src/lj_profile_timer.c | 133 +++++ src/lj_profile_timer.h | 83 +++ src/lj_state.c | 7 + src/lj_symtab.c | 84 +++ src/lj_symtab.h | 65 +++ src/lj_sysprof.c | 528 ++++++++++++++++++ src/lj_sysprof.h | 93 +++ src/ljamalg.c | 2 + src/lmisclib.h | 94 ++++ src/vm_x64.dasc | 38 +- src/vm_x86.dasc | 41 +- test/tarantool-tests/CMakeLists.txt | 1 + .../misclib-sysprof-capi.test.lua | 54 ++ .../misclib-sysprof-capi/CMakeLists.txt | 1 + .../misclib-sysprof-capi/testsysprof.c | 271 +++++++++ .../misclib-sysprof-lapi.test.lua | 122 ++++ tools/CMakeLists.txt | 83 +++ tools/luajit-parse-sysprof.in | 6 + tools/sysprof.lua | 119 ++++ tools/sysprof/collapse.lua | 113 ++++ tools/sysprof/parse.lua | 188 +++++++ tools/utils/symtab.lua | 2 +- 36 files changed, 2448 insertions(+), 360 deletions(-) create mode 100644 src/lj_profile_timer.c create mode 100644 src/lj_profile_timer.h create mode 100644 src/lj_symtab.c create mode 100644 src/lj_symtab.h create mode 100644 src/lj_sysprof.c create mode 100644 src/lj_sysprof.h create mode 100644 test/tarantool-tests/misclib-sysprof-capi.test.lua create mode 100644 test/tarantool-tests/misclib-sysprof-capi/CMakeLists.txt create mode 100644 test/tarantool-tests/misclib-sysprof-capi/testsysprof.c create mode 100644 test/tarantool-tests/misclib-sysprof-lapi.test.lua create mode 100644 tools/luajit-parse-sysprof.in create mode 100644 tools/sysprof.lua create mode 100755 tools/sysprof/collapse.lua create mode 100755 tools/sysprof/parse.lua -- 2.35.1