This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
from 404616d621 linux_Dockerfile: only copy gn binary into docker
new 7dfbd14eba libc: add instrument api support
new d932e0af2a sched/procfs:use instrument to statistics run time max stack
new 94d449e722 arch:Mark key functions to prohibit instrumentation to
prevent recursive calls
new 25f599fe31 add demo for record stack defconfig
new 1295ccdd0e Documentation:add Documentation for stack statistics
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
Documentation/guides/index.rst | 1 +
Documentation/guides/stackrecord.rst | 73 +++++++++++++
arch/Kconfig | 7 ++
arch/arm/include/armv7-a/irq.h | 4 +-
arch/arm/include/armv7-m/irq.h | 6 +-
arch/arm/include/armv8-m/irq.h | 6 +-
arch/arm/include/irq.h | 3 +-
arch/arm/src/armv7-a/sctlr.h | 1 +
arch/arm/src/armv7-m/arm_stackcheck.c | 26 +++--
arch/arm/src/armv8-m/arm_stackcheck.c | 26 +++--
arch/arm/src/cmake/armv7-a.cmake | 4 +
arch/arm/src/cmake/armv7-m.cmake | 4 +
arch/arm/src/cmake/armv8-m.cmake | 4 +
arch/arm/src/common/Toolchain.defs | 6 +
arch/arm/src/common/arm_internal.h | 4 +
arch/arm/src/eoss3/eoss3_start.c | 4 +
arch/arm/src/gd32f4/gd32f4xx_start.c | 4 +
arch/arm/src/imxrt/imxrt_start.c | 4 +
arch/arm/src/kinetis/kinetis_start.c | 4 +
arch/arm/src/lpc17xx_40xx/lpc17_40_start.c | 4 +
arch/arm/src/nrf52/nrf52_start.c | 4 +
arch/arm/src/nrf53/nrf53_start.c | 4 +
arch/arm/src/rtl8720c/ameba_start.c | 5 +
arch/arm/src/sam34/sam_start.c | 4 +
arch/arm/src/samd5e5/sam_start.c | 4 +
arch/arm/src/samv7/sam_start.c | 4 +
arch/arm/src/stm32/stm32_start.c | 4 +
arch/arm/src/stm32f7/stm32_start.c | 4 +
arch/arm/src/stm32h7/stm32_start.c | 4 +
arch/arm/src/stm32l4/stm32l4_start.c | 4 +
arch/arm/src/stm32l5/stm32l5_start.c | 4 +
arch/arm/src/stm32u5/stm32_start.c | 4 +
arch/arm/src/stm32wb/stm32wb_start.c | 4 +
arch/arm/src/xmc4/xmc4_start.c | 4 +
arch/arm64/src/Toolchain.defs | 6 +
arch/risc-v/include/irq.h | 6 +-
arch/risc-v/src/common/Toolchain.defs | 6 +
arch/sim/include/irq.h | 1 +
arch/xtensa/include/irq.h | 10 +-
arch/xtensa/src/esp32s3/esp32s3_start.c | 6 +-
arch/xtensa/src/lx6/Toolchain.defs | 6 +
arch/xtensa/src/lx7/Toolchain.defs | 6 +
.../stm32/stm32f429i-disco/configs/stack/defconfig | 56 ++++++++++
boards/sim/sim/sim/scripts/Make.defs | 4 +
.../esp32s3/esp32s3-devkit/configs/stack/defconfig | 51 +++++++++
drivers/note/note_driver.c | 66 +++++++----
fs/procfs/fs_procfsproc.c | 53 +++++++++
include/nuttx/compiler.h | 9 ++
include/nuttx/instrument.h | 68 ++++++++++++
include/nuttx/irq.h | 4 +-
include/nuttx/sched.h | 11 ++
libs/libc/misc/CMakeLists.txt | 3 +-
libs/libc/misc/Make.defs | 2 +-
libs/libc/misc/lib_instrument.c | 121 +++++++++++++++++++++
sched/Kconfig | 13 +++
sched/Makefile | 1 +
sched/init/nx_start.c | 5 +
sched/instrument/CMakeLists.txt | 27 +++++
sched/instrument/Make.defs | 30 +++++
sched/instrument/instrument.c | 58 ++++++++++
sched/instrument/instrument.h | 44 ++++++++
sched/instrument/stack_record.c | 112 +++++++++++++++++++
sched/sched/sched.h | 2 +-
63 files changed, 975 insertions(+), 64 deletions(-)
create mode 100644 Documentation/guides/stackrecord.rst
create mode 100644 boards/arm/stm32/stm32f429i-disco/configs/stack/defconfig
create mode 100644 boards/xtensa/esp32s3/esp32s3-devkit/configs/stack/defconfig
create mode 100644 include/nuttx/instrument.h
create mode 100644 libs/libc/misc/lib_instrument.c
create mode 100644 sched/instrument/CMakeLists.txt
create mode 100644 sched/instrument/Make.defs
create mode 100644 sched/instrument/instrument.c
create mode 100644 sched/instrument/instrument.h
create mode 100644 sched/instrument/stack_record.c