All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: <lionel.debieve@st.com>
Cc: <linux-rt-users@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<bigeasy@linutronix.de>, <tglx@linutronix.de>,
	Patrice Chotard <patrice.chotard@st.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>
Subject: Re: [PATCH RT] tty: serial: st-asc: Make the locking RT aware
Date: Tue, 21 Mar 2017 14:44:37 -0400	[thread overview]
Message-ID: <20170321144437.569440c2@vmware.local.home> (raw)
In-Reply-To: <1490112340-29772-1-git-send-email-lionel.debieve@st.com>

On Tue, 21 Mar 2017 17:05:40 +0100
<lionel.debieve@st.com> wrote:

> From: Lionel Debieve <lionel.debieve@st.com>
> 
> The lock is a sleeping lock and local_irq_save() is not the
> standard implementation now. Working for both -RT and non
> RT.

If this is for both RT and non RT then the patch subject should just be
[PATCH] and not [PATCH RT] as the latter tells upstream folks not to
bother.

> 
> Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
> ---
>  drivers/tty/serial/st-asc.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/tty/serial/st-asc.c b/drivers/tty/serial/st-asc.c
> index 379e5bd..1815423 100644
> --- a/drivers/tty/serial/st-asc.c
> +++ b/drivers/tty/serial/st-asc.c
> @@ -803,13 +803,12 @@ static void asc_console_write(struct console
> *co, const char *s, unsigned count) int locked = 1;
>  	u32 intenable;
>  
> -	local_irq_save(flags);
>  	if (port->sysrq)
>  		locked = 0; /* asc_interrupt has already claimed the
> lock */ else if (oops_in_progress)
> -		locked = spin_trylock(&port->lock);
> +		locked = spin_trylock_irqsave(&port->lock, flags);
>  	else
> -		spin_lock(&port->lock);
> +		spin_lock_irqsave(&port->lock, flags);
>  
>  	/*
>  	 * Disable interrupts so we don't get the IRQ line bouncing

I'm nervous about the above comment, which in full is:

	/*
	 * Disable interrupts so we don't get the IRQ line bouncing
	 * up and down while interrupts are disabled.
	 */

I'm not sure if disabling interrupts helps on an SMP system. This patch
does change what happens when port->sysrq is set. But I'm not sure we
care.

-- Steve



> @@ -827,8 +826,7 @@ static void asc_console_write(struct console *co,
> const char *s, unsigned count) asc_out(port, ASC_INTEN, intenable);
>  
>  	if (locked)
> -		spin_unlock(&port->lock);
> -	local_irq_restore(flags);
> +		spin_unlock_irqrestore(&port->lock, flags);
>  }
>  
>  static int asc_console_setup(struct console *co, char *options)

  reply	other threads:[~2017-03-21 18:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 16:05 [PATCH RT] tty: serial: st-asc: Make the locking RT aware lionel.debieve
2017-03-21 18:44 ` Steven Rostedt [this message]
2017-03-21 18:51   ` Thomas Gleixner
2017-03-21 20:15     ` Steven Rostedt
2017-03-22  8:43       ` Lionel DEBIEVE
2017-03-22 16:10         ` Steven Rostedt
2017-03-22 16:14           ` Lionel DEBIEVE

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=20170321144437.569440c2@vmware.local.home \
    --to=rostedt@goodmis.org \
    --cc=bigeasy@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=lionel.debieve@st.com \
    --cc=patrice.chotard@st.com \
    --cc=tglx@linutronix.de \
    /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.