From: Jiri Slaby <jirislaby@gmail.com>
To: Alan Cox <alan@linux.intel.com>
Cc: Jiri Slaby <jslaby@suse.cz>,
gregkh@suse.de, linux-serial@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/6] TTY: serial, remove tasklet for tty_wakeup
Date: Wed, 31 Aug 2011 16:43:06 +0200 [thread overview]
Message-ID: <4E5E487A.10709@gmail.com> (raw)
In-Reply-To: <20110719173401.131e220f@bob.linux.org.uk>
On 07/19/2011 06:34 PM, Alan Cox wrote:
> On Thu, 14 Jul 2011 14:35:12 +0200
> Jiri Slaby <jslaby@suse.cz> wrote:
>
>> tty_wakeup can be called from any context. So there is no need to have
>> an extra tasklet for calling that. Hence save some space and remove
>> the tasklet completely.
>>
>> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
>> Cc: Greg Kroah-Hartman <gregkh@suse.de>
>> Cc: Alan Cox <alan@linux.intel.com>
>> ---
>> drivers/tty/serial/serial_core.c | 20 +-------------------
>> include/linux/serial_core.h | 1 -
>> 2 files changed, 1 insertions(+), 20 deletions(-)
>>
>> diff --git a/drivers/tty/serial/serial_core.c
>> b/drivers/tty/serial/serial_core.c index 2cbf1bd..4786232 100644
>> --- a/drivers/tty/serial/serial_core.c
>> +++ b/drivers/tty/serial/serial_core.c
>> @@ -72,7 +72,7 @@ void uart_write_wakeup(struct uart_port *port)
>> * closed. No cookie for you.
>> */
>> BUG_ON(!state);
>> - tasklet_schedule(&state->tlet);
>> + tty_wakeup(state->port.tty);
>
> Probably worth noting that this is only safe if the uart locks are held
> and because of the current lock/ref drop combinations in the
> serial_core code otherwise it can race with hangup...
I see this was merged. Since I was not sure this patch is OK after your
comment, I reviewed the code now. It shouldn't be an issue right now,
exactly as you wrote. I.e. the device is stopped, ISR synchronized and
even then ->hangup sets tty to NULL.
I have a patch in my queue which converts all these guys to
tty_port_tty_get. This is needed before I can use tty_port_hangup
obviously. It is because the order there is opposite (set tty to NULL,
then shutdown everybody).
thanks for review,
--
js
next prev parent reply other threads:[~2011-08-31 14:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-14 12:35 [PATCH v2 1/6] TTY: serial, remove BTM from wait_until_sent Jiri Slaby
2011-07-14 12:35 ` [PATCH v2 2/6] TTY: msm_serial, remove unneeded console set Jiri Slaby
2011-07-14 12:35 ` [PATCH v2 3/6] TTY: serial, remove tasklet for tty_wakeup Jiri Slaby
2011-07-19 16:34 ` Alan Cox
2011-08-31 14:43 ` Jiri Slaby [this message]
2011-07-14 12:35 ` [PATCH v2 4/6] TTY: ami_serial, remove BTM from wait_until_sent Jiri Slaby
2011-07-14 12:35 ` [PATCH v2 5/6] TTY: remove tty_locked Jiri Slaby
2011-07-19 16:35 ` Alan Cox
2011-07-14 12:35 ` [PATCH v2 6/6] TTY: mxser+cyclades remove wait_until_sent debug code Jiri Slaby
2011-07-14 13:24 ` [PATCH v2 1/6] TTY: serial, remove BTM from wait_until_sent Arnd Bergmann
2011-07-19 0:35 ` Andreas Bombe
2011-08-08 13:21 ` Jiri Slaby
2011-08-10 1:09 ` Andreas Bombe
2011-08-10 9:46 ` Jiri Slaby
2011-08-10 12:25 ` Andreas Bombe
2011-08-10 14:43 ` Jiri Slaby
2011-08-10 18:07 ` Andreas Bombe
2011-08-10 18:10 ` Jiri Slaby
2011-08-11 1:06 ` Andreas Bombe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E5E487A.10709@gmail.com \
--to=jirislaby@gmail.com \
--cc=alan@linux.intel.com \
--cc=gregkh@suse.de \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.