Compared to the previous version, the following factors have been taken into account in the new version of cachespeed:
1. the user needs to care about getting a piece of available memory (even if this piece of memory may memory stomp during use)
2. High repetition of test code, poor readability, and overall high test coupling
3. Not taking into account the alignment cache line situation
4. When comparing values between different test tools, there is a little error because of the different ways to get the values (different fine reading)
Therefore, in the new version according to the above problems have been improved:
1. Provide a "test_skeleton", which contains the overall testing process
2. The user only needs to execute, not to care about how to get the available memory address, and the memory allocated by the program also ensures the memory security and data accuracy
3. The system to obtain the data required for the test reduces the difficulty of use and the possibility of inaccurate results due to data errors.
4. Provide two kinds of precision data results, which can be configured through Kconfig
5. Optimize the output log, now more intuitive and concise, to help the subsequent data organization and observation
6. New test items for aligned/unaligned cache line
7. Better readability and extensibility, making it easier to add/remove test items
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Partially implement the gdb rsp protocol,
you can debug the nuttx kernel through the serial port or the network
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
CC: pthread/pthread_mutexinconsistent.c libuv/src/unix/getaddrinfo.c:103:9: warning: implicit declaration of function ‘getaddrinfo’; did you mean ‘uv_getaddrinfo’? [-Wimplicit-function-declaration]
103 | err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
| ^~~~~~~~~~~
| uv_getaddrinfo
libuv/src/unix/getaddrinfo.c: In function ‘uv_freeaddrinfo’:
libuv/src/unix/getaddrinfo.c:222:5: warning: implicit declaration of function ‘freeaddrinfo’; did you mean ‘uv_freeaddrinfo’? [-Wimplicit-function-declaration]
222 | freeaddrinfo(ai);
| ^~~~~~~~~~~~
| uv_freeaddrinfo
CC: misc/lib_crc16ccitt.c libuv/src/unix/getnameinfo.c: In function ‘uv__getnameinfo_work’:
libuv/src/unix/getnameinfo.c:45:9: warning: implicit declaration of function ‘getnameinfo’; did you mean ‘uv_getnameinfo’? [-Wimplicit-function-declaration]
45 | err = getnameinfo((struct sockaddr*) &req->storage,
| ^~~~~~~~~~~
| uv_getnameinfo
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
In this change, we have added a malloc from the heap to get the address when the user does not pass an address.
We took into account that the user would be testing the memory after the device was started, but this required them to focus on how to get a piece of address available. To improve the experience of tool users, we can simply ask them to get a size for testing purposes, while also keeping the ability to test for a given address
This change is mainly in the 'parse_commandline' function, so there are a few changes in the way it is used, see usage for details.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Add missing FAR and CODE to pointers
Remove FAR for non-pointer variables
Remove extra spaces and align the parameters
Add do {} while(0) wrapper in macro
Use nitems to calculate number of elements in arrays
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
Test on sim/nsh (CONFIG_SYSTEM_CUTERM_DISABLE_ERROR_PRINT=y):
text data bss dec hex filename
397049 26704 4128 427881 68769 nuttx /* before */
396481 26704 4128 427313 68531 nuttx /* after */
-568
Signed-off-by: chao an <anchao@xiaomi.com>
CONFIG_FILE_STREAMS now defaults to 'n' when DEFAULT_SMALL is enabled. This
is a good change, but this source file fails to compile when file streams
are disabled.
Fix this by using dprintf.
Let remote machine handle special character except Ctrl-C, make cu's behavior more close to linux/bsd system.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>