[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170502131854.GA17710@localhost>
Date: Tue, 2 May 2017 15:18:54 +0200
From: Johan Hovold <johan@...nel.org>
To: Rob Herring <robh@...nel.org>
Cc: Johan Hovold <johan@...nel.org>,
Stefan Wahren <stefan.wahren@...e.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jslaby@...e.com>,
Sebastian Reichel <sre@...nel.org>,
Guenter Roeck <linux@...ck-us.net>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Andrey Smirnov <andrew.smirnov@...il.com>,
"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] serdev: Restore serdev_device_write_buf for atomic
context
On Tue, May 02, 2017 at 07:41:34AM -0500, Rob Herring wrote:
> On Tue, May 2, 2017 at 4:06 AM, Johan Hovold <johan@...nel.org> wrote:
> > On Fri, Apr 28, 2017 at 01:47:21PM +0200, Stefan Wahren wrote:
> >> Starting with commit 6fe729c4bdae ("serdev: Add serdev_device_write
> >> subroutine") the function serdev_device_write_buf cannot be used in
> >> atomic context anymore (mutex_lock is sleeping). So restore the old
> >> behavior.
> >
> > Yeah, preventing use in atomic context seems unnecessary, although any
> > clients writing must now deal with serialisation themselves (as before,
> > and as they should).
>
> We could just remove the mutex for serdev_device_write and always make
> the client responsible for serialization.
That sounds reasonable.
> > Calling wait_for_completion in the non-blocking case was also needlessly
> > inefficient.
>
> It won't be called because count should be 0.
That's not guaranteed; count would be nonzero whenever the tty
driver does not accept the full buffer and then we'd currently end up
calling wait_for_completion_timeout() with a zero-timeout instead of
just returning immediately.
Johan
Powered by blists - more mailing lists