Re: [PATCH 3/4] gpio: sysfs: don't use sprintf() for 'value' attribute

From: Linus Walleij
Date: Wed Dec 20 2017 - 04:34:35 EST


On Mon, Dec 18, 2017 at 11:08 AM, Christophe Leroy
<christophe.leroy@xxxxxx> wrote:

> 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: Christophe Leroy <christophe.leroy@xxxxxx>

Patch applied.

Yours,
Linus Walleij