R-Car/Debugging-kernel-options-causes-performance-down
< R-Car
Contents
Overview
A tree git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git has renesas_defconfig to ease development of drivers for Renesas ARM SoCs. The renesas_defconfig enables some debugging features so that this is convenient to detect issues of development drivers.
Location on v5.13-rc5: -> Kernel hacking -> Lock Debugging (spinlocks, mutexes, etc...) [*] Lock debugging: prove locking correctness [ ] Enable raw_spinlock - spinlock nesting checks [ ] Lock usage statistics -*- RT Mutex debugging, deadlock detection -*- Spinlock and rw-lock debugging: basic checks -*- Mutex debugging: basic checks -*- Wait/wound mutex debugging: Slowpath testing -*- RW Semaphore debugging: basic checks -*- Lock debugging: detect incorrect freeing of live locks
However, these lock debugging options is possible to cause CPU overhead so that benchmark score will be down.
bonnie++ score comparation
When we disable these lock debugging options on renesas-drivers-2021-06-08-v5.13-rc5, the score of bonnie++ is up.
debugging options | result (seq input block) |
enabled | 89776 |
disabled | 136543 |
bonnie++ scores
debugging options are enabled
# mount -t ext4 /dev/mmcblk0 /mnt # cd /mnt # bonnie\+\+ -u root -d ./ ... Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP buildroot 15624M 31011 97 62806 97 28923 48 37313 90 89776 66 4724 83 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 5734 97 +++++ +++ 4620 77 5844 97 +++++ +++ 4953 84 buildroot,15624M,31011,97,62806,97,28923,48,37313,90,89776,66,4724.5,83,16,5734,97,+++++,+++,4620,77,5844,97,+++++,+++,4953,84
debugging options are disabled
# mount -t ext4 /dev/mmcblk0 /mnt # cd /mnt # bonnie\+\+ -u root -d ./ ... Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP buildroot 15656M 57092 98 138614 47 58098 23 54250 95 136543 35 8925 29 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 29014 98 +++++ +++ 32079 97 29693 98 +++++ +++ 22302 76 buildroot,15656M,57092,98,138614,47,58098,23,54250,95,136543,35,8925.3,29,16,29014,98,+++++,+++,32079,97,29693,98,+++++,+++,22302,76