Input: evdev - add a schedule point in evdev_write()
Subsystems (2)
Dmitry Torokhov
maintainerPATCH 1/1 Input: evdev - add a schedule point in evdev_write()
Large writes to evdev interface may cause rcu stalls. Let's add cond_resched() to the loop to avoid this.
Signed-off-by Dmitry Torokhov <[email protected]>
--- drivers/input/evdev.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/evdev.c +1 -0
@@ -564,6 +564,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,input_inject_event (&evdev->handle, event.type, event.code, event.value); +cond_resched (); } out:
Signature · 5 lines
2.19.0.605.g01d371f741-goog -- Dmitry
Quoted 4 lines · Dmitry Torokhov
Large writes to evdev interface may cause rcu stalls. Let's add
cond_resched()to the loop to avoid this.Signed-off-by Dmitry Torokhov <[email protected]>
Reviewed-by Paul E. McKenney <[email protected]>
Quoted 23 lines
--- drivers/input/evdev.c | 1 + 1 file changed, 1 insertion(+)drivers/input/evdev.c +1
-0@@ -564,6 +564,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,input_inject_event (&evdev->handle, event.type, event.code, event.value); +cond_resched (); } out:Signature · 5 lines
2.19.0.605.g01d371f741-goog -- Dmitry