2022-09-30 05:41:04 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
config SYSTEM_CACHESPEED
|
system/cachespeed:Redesign of the overall test tool.
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>
2023-05-05 12:11:16 +02:00
|
|
|
bool "CACHE Speed Test"
|
2023-07-19 12:36:50 +02:00
|
|
|
depends on ARCH_ICACHE && ARCH_DCACHE
|
2022-09-30 05:41:04 +02:00
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable a simple CACHE speed test.
|
|
|
|
|
|
|
|
if SYSTEM_CACHESPEED
|
|
|
|
|
|
|
|
config SYSTEM_CACHESPEED_PROGNAME
|
|
|
|
string "Program name"
|
|
|
|
default "cachespeed"
|
|
|
|
---help---
|
|
|
|
This is the name of the program that will be used when the NSH ELF
|
|
|
|
program is installed.
|
|
|
|
|
|
|
|
config SYSTEM_CACHESPEED_PRIORITY
|
|
|
|
int "CACHE speed test task priority"
|
|
|
|
default 100
|
|
|
|
|
|
|
|
config SYSTEM_CACHESPEED_STACKSIZE
|
|
|
|
int "CACHE speed test stack size"
|
|
|
|
default DEFAULT_TASK_STACKSIZE
|
|
|
|
|
system/cachespeed:Redesign of the overall test tool.
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>
2023-05-05 12:11:16 +02:00
|
|
|
config CACHESPEED_MONOTONIC_TIME
|
|
|
|
bool "Using Clock Gettime"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
When you turn on this option, your test loop will go from 10000 -> 1000 times
|
|
|
|
Please consider the following scenario:
|
|
|
|
1. By default (PERFTIME) will have a relatively high precision, but this also
|
|
|
|
tends to cause failure in getting values on some smaller bytes, so reducing
|
|
|
|
the precision with this option can make it easier to get data values.
|
|
|
|
2. whether to compare data with the content of other tools (using CLOCK
|
|
|
|
GETTIME method), if so, it is recommended to turn on, so as to ensure that
|
|
|
|
the data precision of both consistent.
|
|
|
|
|
2022-09-30 05:41:04 +02:00
|
|
|
endif
|
|
|
|
|