zhangyu117
ba045061e9
apps: replace atomic_fetch_xxx with atomic_xxx
...
Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com>
2026-04-20 15:20:23 +08:00
anpeiyun
8595cc30ff
osperf: solve the issue of pthread_cond_signal_switch_performance for SMP
...
for SMP, the pthread_cond_signal(&perf.cond); will execute before pthread_cond_wait(&perf->cond, &perf->lock);
So the case will block at pthread_join(tid, NULL);
Signed-off-by: anpeiyun <anpeiyun@xiaomi.com>
2026-04-20 15:20:23 +08:00
hujun5
d9ac6e31f4
Fix the timing measurement error in write/poll.
...
When evaluating the performance of write/poll,
we shouldn't include the time taken for thread
termination in the measurements, as it could cause confusion.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-04-20 15:20:20 +08:00
zhangyu117
bc5cf2aa8e
osperf: add testcase about mutex, function call and atomic calculate
...
Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com>
2026-04-20 15:20:18 +08:00
hujun5
a49ef89456
osperf: add testcase for nxmutex-[un]lock
...
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-04-20 15:20:17 +08:00
zhangyuan29
e2e8df499c
osperf: fixed mqueue test build issue
...
Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2026-04-20 15:20:17 +08:00
hujun5
ce0c6c15ec
osperf: add testcase for pthread_cond_[signal/wait]
...
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-04-20 15:20:17 +08:00
zhangyu117
93f4a0a64c
benchmarks/osperf: Adjust task priorities to achieve the correct execution order for acquiring time data.
...
Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com>
2026-04-20 15:20:16 +08:00
Bowen Wang
2126f8fe79
benchmarks/ramspeed_main: avoid the ALIGN_MASK redefine error
...
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-04-20 15:20:16 +08:00
hujun5
8fa2831824
fix compile error
...
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-04-20 15:20:14 +08:00
chao an
c33e23d46f
libc/elf: rename modlib to libelf
...
Renaming "modlib" to "libelf" is more in line with the implementation content,
which makes it easier for individual developers to understand the capabilities of this module.
CONFIG_LIBC_MODLIB -> CONFIG_LIBC_ELF
Signed-off-by: chao an <anchao.archer@bytedance.com>
2026-04-20 15:20:13 +08:00
yinshengkai
a5258e0858
osperf: add mqueue send test case
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2026-04-20 15:19:42 +08:00
buxiasen
fc932dc16c
osperf: fix the sched_lock/unlock cause evaluate wrong interval
...
If sched_locked, we always calculate the joined cost time.
Should remove the whole sched_lock, and user ensure system idle during
running.
Rename the typo swtich to switch.
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-04-20 15:19:41 +08:00
makejian
549c69ab3d
benchmarks/fpu: fpu test modification precision change to millisecond
...
time(0) will get a time in seconds. Usually, the test cycle needs to reach more than 1s to get the result. Here it is changed to the result with millisecond accuracy.
Signed-off-by: makejian <makejian@xiaomi.com>
2026-04-20 15:19:32 +08:00
makejian
903fe3f35d
benchmarks/fpu: export fpu benchmark
...
1.port from https://www.netlib.org/benchmark/whetstone.c
2.adapt to nuttx style
Signed-off-by: makejian <makejian@xiaomi.com>
2026-04-20 15:19:32 +08:00
Yanfeng Liu
817c0f48d0
benchmark/osperf: add nullop test
...
This adds a null operation test null-op to osperf which does
nothing but two perf_gettime() syscalls.
Signed-off-by: Yanfeng Liu <p-liuyanfeng9@xiaomi.com>
2026-04-20 15:19:29 +08:00
ouyangxiangzhen
aa63bf55e6
include/addrenv: Clean the inclusion
...
This commit fixed the incorrect inclusion.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
2026-04-20 15:19:28 +08:00
Yanfeng Liu
b7f05e83bf
benchmark/osperf: add non-FLAT support
...
This revises osperf app so that it can be used in non-FLAT build
mode. It uses perf_xxx syscall to work in non-FLAT mode.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2026-04-20 15:19:28 +08:00
ouyangxiangzhen
c1045c6022
benchmark/taclebench: Add clock measurement.
...
This commit added clock measurement for taclebench.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
2026-04-20 15:19:27 +08:00
wangzhi16
48240d07e7
osperf : remove enter critical sections.
...
Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
2026-04-20 15:19:24 +08:00
wangzhi16
dbb2d7739a
banchmarks/ramspeed : remove enter/leave_critical_section.
...
Because the purpose of using enter_critical_section function in ramspeed is to disable interrupts rather than to synchronize information between multiple cores, it is replaced by up_irq_save.
Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
2026-04-20 15:19:24 +08:00
wangzhi16
e7e0d90081
banchmarks/cache : remove enter/leave_critical_section.
...
Because the purpose of using enter_critical_section function in cachespeed is to disable interrupts rather than to synchronize information between multiple cores, it is replaced by up_irq_save.
Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
2026-04-20 15:19:24 +08:00
zhangyuan29
5443229786
ramspeed: add up_perf interface
...
Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2026-04-20 15:19:17 +08:00
zhangyuan29
7bbd4f02d6
benchmarks: use CONFIG_CACHESPEED_MONOTONIC_TIME
...
Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2026-04-20 15:19:16 +08:00
yinshengkai
9fe1894625
testing: fix compiler warning
...
apps/benchmarks/ramspeed/ramspeed_main.c:70:7: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if HAS_IRQ_CONTROL
^
apps/examples/pipe/interlock_test.c:211:12: warning: variable 'readerid' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
else if (ret != 0)
^~~~~~~~
memorystress_main.c:443:41: note: format string is defined here
443 | " nodelen: %zu\n sleep_us: %lu\n nthreads: %zu\n debug: %s\n",
| ~~^
| |
| long unsigned int
| %u
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2026-04-20 15:19:09 +08:00
xuxin19
66e420b26e
cmake(bugfix):fix coremark cmake compile FLAGS_STR build error
...
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2026-04-20 15:19:05 +08:00
guoshichao
3f18fd44fa
benchmarks/ramspeed: add cmake build support
...
Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2026-04-20 15:19:05 +08:00
chenrun1
43770e6b25
ospert.c:fix warning maybe-uninitialized
...
Summary:
In function 'performance_gettime',
inlined from 'hpwork_performance' at osperf.c:245:10:
osperf.c:123:3: error: 'result.end' may be used uninitialized [-Werror=maybe-uninitialized]
123 | up_perf_convert(result->end - result->start, &ts);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osperf.c: In function 'hpwork_performance':
osperf.c:228:29: note: 'result.end' was declared here
228 | struct performance_time_s result;
| ^~~~~~
CC: audio/lib_buffer.c
CC: common/arm64_initialize.c
CC: builtin/lib_builtin_getname.c
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2026-04-20 15:19:04 +08:00
buxiasen
aa56709535
ramspeed: fix dest align typo, add not-aligned print
...
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-04-20 15:19:02 +08:00
xuxin19
44156e9667
cmake(build):add benchmarks osperf CMakeLists.txt
...
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2026-04-20 15:19:01 +08:00
openvela-robot
373ce0a3b0
Merge branch 'master' into vela
...
apache/nuttx-apps commit id: c5c18a29973802b196e77adf3fd3e6742a269d83
Signed-off-by: ligd <liguiding1@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-04-20 15:18:54 +08:00
openvela-robot
4e0a573f23
nsh: support watch command
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2026-04-20 15:18:53 +08:00
openvela-robot
b0d05e45c1
cmake(snyc):fix nuttx-apps CMakeList.txt conflit
...
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2026-04-20 15:18:51 +08:00
openvela-robot
db9da5caee
nshlib:Add macro restrictions to code that uses floating point numbers
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-04-20 15:18:49 +08:00
openvela-robot
7344f54d1a
top:fix memleak if ps_recored retrun error
...
7 534 128 6096556 0x44c43720 [0x0402a5ec0] <mm_zalloc+8> mm_heap/mm_zalloc.c:45
[0x0402a35ce] <zalloc+18> umm_heap/umm_zalloc.c:70
[0x0402b72ba] <top_callback+238> nsh_proccmds.c:733
[0x0402b57f8] <nsh_foreach_direntry+32> nsh_fsutils.c:474
[0x0402b7c86] <cmd_top+562> nsh_proccmds.c:1252
[0x0402b2496] <nsh_command+70> nsh_command.c:1262
[0x0402ae9fc] <nsh_execute+60> nsh_parse.c:717
7 534 512 6095859 0x44c1e270 [0x0402a5ec0] <mm_zalloc+8> mm_heap/mm_zalloc.c:45
[0x0402a35ce] <zalloc+18> umm_heap/umm_zalloc.c:70
[0x0402b72d8] <top_callback+268> nsh_proccmds.c:741
[0x0402b57f8] <nsh_foreach_direntry+32> nsh_fsutils.c:474
[0x0402b7c86] <cmd_top+562> nsh_proccmds.c:1252
[0x0402b2496] <nsh_command+70> nsh_command.c:1262
[0x0402ae9fc] <nsh_execute+60> nsh_parse.c:717
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-04-20 15:18:47 +08:00
wangming9
b58a5ad8e2
apps/benchmarks/dhrystone: Fix compilation errors
...
Error details:
dhrystone/v2.2/dry.c:714:3: error: 'Int_2_Loc' may be used uninitialized [-Werror=maybe-uninitialized]
714 | fprintf (stderr, "Int_2_Loc: %d\n", Int_2_Loc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dhrystone/v2.2/dry.c:543:25: note: 'Int_2_Loc' was declared here
543 | REG One_Fifty Int_2_Loc;
| ^~~~~~~~~
Signed-off-by: wangming9 <wangming9@xiaomi.com>
Signed-off-by: lipengfei28 <lipengfei28@xiaomi.com>
2026-04-20 15:18:46 +08:00
openvela-robot
552570496c
cjson_test:add define CONFIG_CJSON_NESTING_LIMIT
...
Summary:
Added a limit to CJSON_NESTING_LIMIT. The default value is 1000, which can cause stack overflow in some test cases.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2026-04-20 15:18:46 +08:00
openvela-robot
ce2bf03d31
net: Remove IFF_DOWN flag to compatible with Linux/*BSD
...
turn off interface by checking IFF_UP flag isn't set:
https://github.com/apache/nuttx/issues/1838
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-04-20 15:18:45 +08:00
buxiasen
3a40f661ef
ramspeed: fix -r -w parameter ignored, report align issue
...
We may want to test ramspeed by specific address, it was previous ignored,
and for the not aligned address from user, just report a error.
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-04-20 15:18:44 +08:00
yinshengkai
87d9d1ac3d
osperf: changes irq_t to irqstat_t
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2026-04-20 15:18:44 +08:00
Bowen Wang
d1e6a19db7
coremark/Makefile: avoid crc function multiple definition
...
/data/project/specific product/rel-4.0/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: crc16_sw.c.data.project.specific product.rel-4.0.external.zblue.zblue_1.o (symbol from plugin): in function `crc16':
(.text+0x0): multiple definition of `crc16'; core_util.c.data.project.specific product.rel-4.0.apps.benchmarks.coremark_1.o (symbol from plugin):(.text+0x0): first defined here
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-04-20 15:18:43 +08:00
Bowen Wang
d7f0bd15ae
osperf/osperf: move close pipefd after pthread_join
...
Avoid the new thread write the closed pipe
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-04-20 15:18:43 +08:00
openvela-robot
3a3a0906f6
examples/pipe: Enhance test by different r/w thread priority
...
By arranging and combining the priorities of read and write
threads to cover more usage scenarios.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-04-20 15:18:43 +08:00
openvela-robot
7be1dac276
tools/mksymtab.sh: Using getopts to parse parameters
...
Use the "-a" option to specify additional lists
Examples
- The basic.txt
$ cat basic.txt
basic_func0
basic_func1
basic_func2
- The additional.txt
$ cat additional.txt
additional_func0
additional_func1
additional_func2
1. Get symbols from directory "EMPTY_DIR" and additional list basic.txt
./tools/mksymtab.sh ./EMPTY_DIR -a basic.txt
#if defined(CONFIG_EXECFUNCS_HAVE_SYMTAB)
const struct symtab_s CONFIG_EXECFUNCS_SYMTAB_ARRAY[] =
#elif defined(CONFIG_NSH_SYMTAB)
const struct symtab_s CONFIG_NSH_SYMTAB_ARRAYNAME[] =
#else
const struct symtab_s dummy_symtab[] =
#endif
{
{"basic_func0", &basic_func0},
{"basic_func1", &basic_func1},
{"basic_func2", &basic_func2},
};
2. Get symbols from directory "EMPTY_DIR" and two additional lists basic.txt, additional.txt
./tools/mksymtab.sh ./EMPTY_DIR -a basic.txt -a additional.txt
#if defined(CONFIG_EXECFUNCS_HAVE_SYMTAB)
const struct symtab_s CONFIG_EXECFUNCS_SYMTAB_ARRAY[] =
#elif defined(CONFIG_NSH_SYMTAB)
const struct symtab_s CONFIG_NSH_SYMTAB_ARRAYNAME[] =
#else
const struct symtab_s dummy_symtab[] =
#endif
{
{"additional_func0", &additional_func0},
{"additional_func1", &additional_func1},
{"additional_func2", &additional_func2},
{"basic_func0", &basic_func0},
{"basic_func1", &basic_func1},
{"basic_func2", &basic_func2},
};
3. Set prefix and get symbols from directory "EMPTY_DIR" and two additional lists basic.txt, additional.txt
./tools/mksymtab.sh ./EMPTY_DIR PREFIX_TEST -a basic.txt -a additional.txt
const struct symtab_s PREFIX_TEST_exports[] =
{
{"additional_func0", &additional_func0},
{"additional_func1", &additional_func1},
{"additional_func2", &additional_func2},
{"basic_func0", &basic_func0},
{"basic_func1", &basic_func1},
{"basic_func2", &basic_func2},
};
4. Error: Missing <imagedirpath>
$ ./tools/mksymtab.sh
ERROR: Missing <imagedirpath>
Usage: ./tools/mksymtab.sh <imagedirpath> [symtabprefix] [-a additionalsymbolspath]
UNSUPPORTED usage examples
# `getopt` supports these, but the usage in GNU and macOS is incompatible.
- ./tools/mksymtab.sh ./EMPTY_DIR -a basic.txt PREFIX_TEST -a additional.txt
- ./tools/mksymtab.sh -a basic.txt ./EMPTY_DIR PREFIX_TEST -a additional.txt
References
BASH(1) -- getopts
GETOPT(1) -- getopt
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-04-20 15:18:42 +08:00
openvela-robot
a6daffa109
nxcodec: add rich debugging logs
...
Signed-off-by: shizhenghui <shizhenghui@xiaomi.com>
2026-04-20 15:18:41 +08:00
openvela-robot
b2949ba2d4
nxcodec: fix build warning
...
nxcodec_main.c:143:37: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘uint32_t’ {aka ‘unsigned int’} [-Wformat=]
143 | printf("nxcodec size: %lux%lu\n",
| ~~^
| |
| long unsigned int
| %u
144 | codec.output.format.fmt.pix.width,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint32_t {aka unsigned int}
nxcodec_main.c:143:41: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint32_t’ {aka ‘unsigned int’} [-Wformat=]
143 | printf("nxcodec size: %lux%lu\n",
| ~~^
| |
| long unsigned int
| %u
144 | codec.output.format.fmt.pix.width,
145 | codec.output.format.fmt.pix.height);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint32_t {aka unsigned int}
Signed-off-by: shizhenghui <shizhenghui@xiaomi.com>
2026-04-20 15:18:40 +08:00
openvela-robot
8c632a5e3b
nsh: Fix PS printing misalignment
...
When the stack is allocated in megabytes, printing seven bits of ps will not align
Signed-off-by: wangmingrong <wangmingrong@xiaomi.com>
2026-04-20 15:18:26 +08:00
openvela-robot
6fd790f084
add INTERPRETERS_WAMR_DYNAMIC_AOT_DEBUG config
...
Signed-off-by: zhangliangyu3 <zhangliangyu3@xiaomi.com>
2026-04-20 15:18:22 +08:00
openvela-robot
79b997db4c
coremark:Fix renaming issues with other libraries
...
The crc16 naming implemented in coremark is duplicated in zblue.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2026-04-20 15:18:17 +08:00
openvela-robot
ec4f19c3fa
app/netstatistics: Add net statistics api for user
...
Signed-off-by: meijian <meijian@xiaomi.com>
2026-04-20 15:18:16 +08:00