xuxingliang
dceb26c7b2
drivers/segger: add heap data plot
...
Add heap current used to note.
Plot it in segger sysview data plot.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-25 19:04:02 +08:00
xuxingliang
001de69be9
drivers/noteram: fix compile error
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-25 19:04:02 +08:00
xuxingliang
7e89ff5d11
sched/note: add note when mm add new region
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-25 19:04:02 +08:00
xuxingliang
c2bcc56546
sched/note: specify note event for heap instrumentation
...
1. Add NOTE_HEAP_ prefix for heap note event.
2. Use note type as heap instrumentation parameter.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-25 19:04:02 +08:00
yinshengkai
2c0e2ac36b
note: add memory tracing event support
...
Record all memory allocation and release, save to ram, used to analyze memory allocation rate and memory usage
Its absolute value is not trustworthy because the memory will be allocated in thread A and released in thread B
netinit-5 [0] 0.105984392: tracing_mark_write: C|5|Heap Usage|96|free: heap: 0x606000000020 size:24, address: 0x603000000370
netinit-5 [0] 0.105996874: tracing_mark_write: C|5|Heap Usage|24|free: heap: 0x606000000020 size:72, address: 0x6070000008e0
nsh_main-4 [0] 3.825169408: tracing_mark_write: C|4|Heap Usage|2177665|free: heap: 0x606000000020 size:424, address: 0x614000000840
nsh_main-4 [0] 3.825228525: tracing_mark_write: C|4|Heap Usage|14977|free: heap: 0x606000000020 size:2162688, address: 0x7f80a639f800
nsh_main-4 [0] 3.825298789: tracing_mark_write: C|4|Heap Usage|15189|malloc: heap: 0x606000000020 size:20, address: 0x6030000003a0
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-25 19:04:02 +08:00
xuxingliang
17cbaadce8
task: use get_task_name where possible
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-10-25 19:04:02 +08:00
dulibo1
2f12e18297
noteram:read noteram may cause crash
...
noteram_get may cause _read = ni_bufsize cause assert crash
[ 1493.627200] [79] [ EMERG] [ap] _assert: Assertion failed : at file: note/noteram_driver.c:370 task: trace process: trace 0x446f238a
[ 1493.627400] [79] [ EMERG] [ap] backtrace:
[ 1493.627500] [79] [ EMERG] [ap] [79] [<0xf7933c9d>] _fini+0xae0720b9/0xb673e41b
[ 1493.628400] [79] [ EMERG] [ap] [79] [<0x498b1b0c>] host_backtrace+0x42/0x72
[ 1493.629300] [79] [ EMERG] [ap] [79] [<0x48bef3d1>] up_backtrace+0x127/0x2d2
[ 1493.630200] [79] [ EMERG] [ap] [79] [<0x48b86bed>] sched_backtrace+0x71/0x8a
[ 1493.631100] [79] [ EMERG] [ap] [79] [<0x44676273>] sched_dumpstack+0xed/0x486
[ 1493.631600] [79] [ EMERG] [ap] [79] [<0x445c61ff>] _assert+0x9f0/0xb38
[ 1493.632200] [79] [ EMERG] [ap] [79] [<0x4420dd07>] __assert+0x3f/0x4c
[ 1493.632800] [79] [ EMERG] [ap] [79] [<0x44151648>] noteram_get+0x1b0/0x5fe
[ 1493.633600] [79] [ EMERG] [ap] [79] [<0x44152370>] noteram_read+0x331/0x4f7
[ 1493.634200] [79] [ EMERG] [ap] [79] [<0x444c66f9>] file_read+0x38b/0x3c0
[ 1493.634700] [79] [ EMERG] [ap] [79] [<0x444c6840>] nx_read+0x112/0x170
[ 1493.635300] [79] [ EMERG] [ap] [79] [<0x444c68e5>] NXread+0x47/0xfa
[ 1493.635800] [79] [ EMERG] [ap] [79] [<0x446f2c70>] trace_dump+0x148/0x2f4
[ 1493.636400] [79] [ EMERG] [ap] [79] [<0x446f110b>] trace_cmd_dump+0x41b/0x4b9
[ 1493.636900] [79] [ EMERG] [ap] [79] [<0x446f2723>] trace_main+0x399/0x6e2
[ 1493.637500] [79] [ EMERG] [ap] [79] [<0x44217fc9>] nxtask_startup+0x69/0x7c
[ 1493.638000] [79] [ EMERG] [ap] [79] [<0x440f9b78>] nxtask_start+0x8a5/0x8b8
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2024-10-25 19:04:02 +08:00
yinshengkai
1c8d0bfdc7
note: add ringbuffer aligned access handle
...
Fix ubsan warning that writes need to be aligned to memory boundaries when writing data
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-25 19:04:02 +08:00
dulibo1
ca989b5101
noteram:overflow may discard all the trace message
...
noteram_add may cause head = tail when remain == NOTE_ALIGN(notelen)
log:
nsh_main-14 [0] 2.132127493: tracing_mark_write: B|14|trace dump -c
nsh_main-14 [0] 2.143322780: tracing_mark_write: E|14|trace dump -c
nsh_main-14 [0] 2.513023895: tracing_mark_write: B|14|trace dump -c
nsh_main-14 [0] 2.524060048: tracing_mark_write: E|14|trace dump -c
nsh_main-14 [0] 2.897055341: tracing_mark_write: B|14|trace dump -c
ap> trace dump -c
nsh_main-14 [0] 3.270037241: tracing_mark_write: B|14|trace dump -c
ap> trace dump -c
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2024-10-25 19:04:02 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
cuiziwei
6071102c90
nuttx/note:fix missing the last character when printing custom labels.
...
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-08-19 14:04:50 +08:00
yinshengkai
c3009d46e9
note: delete sched_note_flatten
...
When we record data and dump data, they are all executed within the system,
and there is no need to consider the issue of big or small endianness.
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-11-12 23:52:10 -08:00
yinshengkai
58c6b60df5
note: remove remaining event code
...
Some event-related codes were missed in the previous modification and have not been deleted.
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-10-17 09:07:06 +08:00
yinshengkai
9c59ee7c58
note: optimize note performance and reduce lib_sprintf calls
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-10-12 00:15:14 +08:00
Daniel Appiagyei
5bfda12634
c++ compatibility: rename reserved c++ keywords 'public' and 'this'
2023-09-16 19:45:02 +08:00
chao an
664927c86e
mm/alloc: remove all unnecessary cast for alloc
...
Fix the minor style issue and remove unnecessary cast
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-30 14:34:20 +08:00
chao an
b60f01a55b
inode/i_private: remove all unnecessary cast for i_private
...
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 08:58:07 +02:00
yinshengkai
02d0762c6e
driver/note: fix trace dump: dump failed
...
Exceeding the length limit may cause an error when using sched_note_printf
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-29 00:09:10 +08:00
yinshengkai
1e164b7f75
note: add noteram crash dump
...
Dump all content when a crash occurs
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-19 21:48:56 +08:00
dongjiuzhu1
29ddfd44a0
driver/note: dump irq handler address to trace
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-08-19 01:42:17 +08:00
yinshengkai
67cb1d1650
note: simplify noteram logic
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
e69dd5f705
noteram: remove task_context
...
syscall cannot be called in syscall, if this happens, it should be fixed (interruption is similar)
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
4aa13542d1
note: remove the name field of task_context
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
4cb2d7dc25
note: directly returns the taskname pointer
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
84799d15ac
note: remove NOTERAM_GETTASKNAME
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
39001e3705
drivers/noteram: move trace_dump to noteram
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-11 13:27:17 +08:00
yinshengkai
72de29422a
drivers/noteram: noteram support multiple instances
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-04 06:48:48 -07:00
yinshengkai
3ab4d4a113
drivers/noteram: reduce global variable references
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-04 06:48:48 -07:00
yinshengkai
2168b744ca
drivers/noteram: change ni_buffer to point
...
ni_buffer is defined in the initialized structure, put it in the data segment, it will increase the flash size
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-04 06:48:48 -07:00
yinshengkai
6e35a51feb
note: optimize noteram_add, copy as much content as possible at a time
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-03-02 22:55:50 +08:00
chao an
ee1e1108a7
drivers/note: fix build break by note rename change
...
Regression by:
| commit ee24396d77
| Author: Xiang Xiao <xiaoxiang@xiaomi.com>
| Date: Tue Feb 14 01:11:48 2023 +0800
|
| drivers/note: Change DRIVER_NOTExxx to DRIVERS_NOTExxx
|
| follow other driver config style
|
| Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 16:19:57 +08:00
Xiang Xiao
779a610ca3
Remove the unnecessary NULL fields in global instance definition of file_operations
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-04 00:32:13 +02:00
yinshengkai
1cee890aa7
drivers/note: unify the spinlock operation in noteram
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-01-02 22:29:01 +08:00
yinshengkai
dd32eccfc3
drivers/note: Move taskname related functions to note_driver.c
...
so all note drivers can retrieve the task name even after the task exit
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-12-26 15:03:57 +08:00
yinshengkai
6f66c0ea0b
drivers/note: sched_note support mulit-channel
...
call callbacks for different channels in sched_note_*
noteram channel is enabled by default
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-12-17 19:41:21 +08:00
yinshengkai
2460ff4f78
drivers/note: rename /dev/note to /dev/note/ram
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-12-15 15:53:49 +08:00
Huang Qi
e4e3208180
Replace all strncpy with strlcpy for safety
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-25 13:38:36 +08:00
Petro Karashchenko
98ba65c422
c89: get rid of designated initializers in common code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-28 13:39:27 +08:00
Petro Karashchenko
a743fed63d
file_operations: get back C89 compatible initializer
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-11 02:14:00 +08:00
zhanghu6
84019b9170
noteram: when the buffer overflow happen and give the asan report
...
READ of size 1 at 0x5ec78f90 thread T0
0 0x59682d7a in noteram_remove note/noteram_driver.c:432
1 0x59683c43 in sched_note_add note/noteram_driver.c:854
0x5ec78f90 is located 0 bytes to the right of global variable 'g_noteram_info' defined in 'note/noteram_driver.c:95:30' (0x5ec78780) of size 2064
0x5ec78f90 is located 48 bytes to the left of global variable '*.Lubsan_type0' defined in 'note/noteram_driver.c' (0x5ec78fc0) of size 10
reason: that read pos is tail of g_noteram_info.ni_buffer causes overflow
2021-12-10 12:33:14 -06:00
Xiang Xiao
5f3a98b5a8
libc/assert: Reference the expression in all case
...
to avoid the warning "defined but not used"
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I55b7c092d0f2e5882fc1784987657c10cdf2d90b
2021-04-03 21:00:41 +01:00
Alin Jerpelea
e5b6305f4a
drivers: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-04 18:32:27 -08:00
Nakamura, Yuuichi
7905ee17d4
Add task name recording for note RAM driver
2020-11-02 01:12:08 -08:00
Masayuki Ishikawa
822497d021
drivers: note: Fix compile errors in noteram_driver.c
...
Summary:
- This commit fixes compile errors if CONFIG_DEBUG_ASSERTIONS=y
Impact:
- Affects noteram_driver only
Testing:
- Tested with spresense:wifi_smp with CONFIG_DEBUG_ASSERTIONS=y
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-06 16:42:40 +08:00
Nakamura, Yuuichi
89ea234af8
Add on-boot instrumentation support for note filter
2020-10-06 03:26:46 +08:00
Nakamura, Yuuichi
a373079a94
Fix /dev/note driver for task trace support
2020-10-06 03:26:46 +08:00
Xiang Xiao
77ae03788a
note: Rename note driver to noteram driver
...
to reflect this is just a normal note driver with ram buffer
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-15 14:55:22 +08:00