diff options
author | Radu Rendec <radu.rendec@gmail.com> | 2018-11-15 21:09:54 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-11-27 11:59:33 +0100 |
commit | 03c0a9208bb10821e5e3f1c81e6218df32524311 (patch) | |
tree | 7635fbc93182d6ebff9b7788f90c022c236eb5aa /drivers/base/core.c | |
parent | 6be244dcd59b01245394b62a128901b1cfec468c (diff) | |
download | linux-stable-03c0a9208bb10821e5e3f1c81e6218df32524311.tar.gz linux-stable-03c0a9208bb10821e5e3f1c81e6218df32524311.tar.bz2 linux-stable-03c0a9208bb10821e5e3f1c81e6218df32524311.zip |
kernfs: Improve kernfs_notify() poll notification latency
kernfs_notify() does two notifications: poll and fsnotify. Originally,
both notifications were done from scheduled work context and all that
kernfs_notify() did was schedule the work.
This patch simply moves the poll notification from the scheduled work
handler to kernfs_notify(). The fsnotify notification still needs to be
done from scheduled work context because it can sleep (it needs to lock
a mutex).
If the poll notification is time critical (the notified thread needs to
wake as quickly as possible), it's better to do it from kernfs_notify()
directly. One example is calling sysfs_notify_dirent() from a hardware
interrupt handler to wake up a thread and handle the interrupt in user
space.
Signed-off-by: Radu Rendec <radu.rendec@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/core.c')
0 files changed, 0 insertions, 0 deletions