R-Car/Debugging-kernel-options-causes-performance-down

From eLinux.org
Jump to: navigation, search

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