Message ID | 20181005005359.GA218372@dtor-ws (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Input: evdev - add a schedule point in evdev_write() | expand |
On Thu, Oct 04, 2018 at 05:53:59PM -0700, Dmitry Torokhov wrote: > 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 <dmitry.torokhov@gmail.com> Reviewed-by: Paul E. McKenney <paulmck@linux.ibm.com> > --- > drivers/input/evdev.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c > index 370206f987f9..f48369d6f3a0 100644 > --- a/drivers/input/evdev.c > +++ b/drivers/input/evdev.c > @@ -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: > -- > 2.19.0.605.g01d371f741-goog > > > -- > Dmitry >
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 370206f987f9..f48369d6f3a0 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -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:
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 <dmitry.torokhov@gmail.com> --- drivers/input/evdev.c | 1 + 1 file changed, 1 insertion(+)