• Christophe Leroy's avatar
    gpio: sysfs: don't use sprintf() for 'value' attribute · 7a94b88c
    Christophe Leroy authored
    A bench with 'perf record' shows that most of time spent in value_show()
    is spent in sprintf()
    
    --42.41%--sysfs_kf_read
              |
              |--39.73%--dev_attr_show
              |          |
              |          |--38.23%--value_show
              |          |          |
              |          |          |--29.22%--sprintf
              |          |          |
              |          |          |--2.94%--gpiod_get_value_cansleep
              |          |          |
    
    value_show() only returns "0\n" or "1\n", therefore the use of
    sprintf() can be avoided
    
    With this patch we get the following result with 'perf record'
    
    --13.89%--sysfs_kf_read
              |
              |--10.72%--dev_attr_show
              |          |
              |          |--9.44%--value_show
              |          |          |
              |          |          |--4.61%--gpiod_get_value_cansleep
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    7a94b88c
gpiolib-sysfs.c 19.4 KB