linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* gpiolib gpio_chrdev_release duration is about 30 ms
@ 2020-07-17 12:56 Maxim Kochetkov
  2020-07-17 13:37 ` Linus Walleij
  0 siblings, 1 reply; 11+ messages in thread
From: Maxim Kochetkov @ 2020-07-17 12:56 UTC (permalink / raw)
  To: linux-gpio; +Cc: bgolaszewski, linus.walleij

Hi.

I'm using libgpiod in userspace.
I have 6 gpiochip's on my board.
gpiod_line_find takes about 300ms to find GPIO line.

gpiod_line_find calls gpiod_foreach_chip
then gpiod_chip_iter_next
then gpiod_chip_close then close(chip->fd)
then we are going to kernel gpiolib gpio_chrdev_release
then atomic_notifier_chain_unregister
then synchronize_rcu()

synchronize_rcu takes about 30 ms (6*30ms=280ms)

I tried to remove synchronize_rcu from atomic_notifier_chain_unregister 
and gpiod_line_find takes about 2ms now.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-07-26 22:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-17 12:56 gpiolib gpio_chrdev_release duration is about 30 ms Maxim Kochetkov
2020-07-17 13:37 ` Linus Walleij
2020-07-17 13:44   ` Maxim Kochetkov
2020-07-17 14:17   ` Maxim Kochetkov
2020-07-17 15:07     ` Andy Shevchenko
2020-07-18  4:25       ` Kent Gibson
2020-07-20  8:14         ` Maxim Kochetkov
2020-07-24 19:36           ` Bartosz Golaszewski
2020-07-25  3:52             ` Kent Gibson
2020-07-26 11:04               ` Bartosz Golaszewski
2020-07-26 22:32               ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).