1.Add more print logs
ramspeed -w 0x61ba15c0 -s 524288 -n 10000 -i
RAM Speed: Write address: 0x0x61ba15c0
RAM Speed: Read address: 0x0
RAM Speed: Size: 524288 bytes
RAM Speed: Value: 0x00
RAM Speed: Repeat number: 10000
RAM Speed: Interrupts disabled: true
2.Improve test accuracy, now print in double type in us time unit
______Perform 32 Bytes access______
RAM Speed: system memset(): Rate = 625000.000 KB/s [cost: 0.500 ms]
RAM Speed: internal memset(): Rate = 240384.615 KB/s [cost: 1.300 ms]
3. Optional test item, if we do not pass in the src address, only memset will be executed
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
The function implementation does not specify a return type, and is treated as a void return value function during use, so it is ignored.
CC: icmpv6_ping.c dhrystone/v2.1/dhry_2.c:30:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
30 | Proc_6 (Enum_Val_Par, Enum_Ref_Par)
| ^~~~~~
2. The implementation of some functions is opposite to the calling position, and the processing can be ignored
dhrystone/v2.1/dhry_2.c:39:9: warning: implicit declaration of function ‘Func_3’ [-Wimplicit-function-declaration]
39 | if (! Func_3 (Enum_Val_Par))
3. This function is called from dhry_2.c and void behavior is expected.
dhrystone/v2.1/dhry_2.c:30:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
30 | Proc_6 (Enum_Val_Par, Enum_Ref_Par)
4. In the old version of C language, if the function declaration return value is not set, the default is void; in the new version, it is int, but in dhrystone, these functions are called as void type functions by default.
dhrystone/v2.2/dry.c:738:1: warning: control reaches end of non-void function [-Wreturn-type]
738 | }
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_1’:
dhrystone/v2.2/dry.c:772:1: warning: control reaches end of non-void function [-Wreturn-type]
772 | } /* Proc_1 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_2’:
dhrystone/v2.2/dry.c:795:1: warning: control reaches end of non-void function [-Wreturn-type]
795 | } /* Proc_2 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_3’:
dhrystone/v2.2/dry.c:810:1: warning: control reaches end of non-void function [-Wreturn-type]
810 | } /* Proc_3 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_4’:
dhrystone/v2.2/dry.c:822:1: warning: control reaches end of non-void function [-Wreturn-type]
822 | } /* Proc_4 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_5’:
dhrystone/v2.2/dry.c:831:1: warning: control reaches end of non-void function [-Wreturn-type]
831 | } /* Proc_5 */
| ^
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Summary:
Avoiding warnings caused by source code implementation leads to build failure. Most warnings are undef and the value is 0. We think it is not enabled.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
configuration.
enter_critical_section and leave_critical_section aren't reliable
interfaces to expose in usermode, as they aren't available if
CONFIG_IRQCOUNT is enabled.
This patch changes the enable options of coremark,
coremark-pro and cachespeed from bool to tristate.
This allows the user to select the benchmark to be built
as a elf module, which can be loaded and executed on the
target dynamically.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Use multi-threads to measure spinlock.
You can get related setting with make menuconfig.
Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
Co-authored-by: Xiang Xiao <xiaoxiang781216@gmail.com>