From: Steven Rostedt <rostedt@goodmis.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
linux-kernel@vger.kernel.org,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Oleg Nesterov <oleg@redhat.com>, Ingo Molnar <mingo@elte.hu>,
akpm@linux-foundation.org, josh@joshtriplett.org,
tglx@linutronix.de, Valdis.Kletnieks@vt.edu, dhowells@redhat.com,
laijs@cn.fujitsu.com, dipankar@in.ibm.com
Subject: Re: [RFC PATCH] introduce sys_membarrier(): process-wide memory barrier (v5)
Date: Tue, 19 Jan 2010 14:43:44 -0500 [thread overview]
Message-ID: <1263930224.31321.24.camel@gandalf.stny.rr.com> (raw)
In-Reply-To: <1263926259.4283.757.camel@laptop>
On Tue, 2010-01-19 at 19:37 +0100, Peter Zijlstra wrote:
> So about that [*], Oleg, kernel/signal.c:SYSCALL_DEFINE0(pause) does:
>
> SYSCALL_DEFINE0(pause)
> {
> current->state = TASK_INTERRUPTIBLE;
> schedule();
> return -ERESTARTNOHAND;
> }
>
> Isn't that ->state assignment buggy? If so, there appear to be quite a
> few such sites, which worries me.
>
That looks buggy to me. Isn't this the reason we have
set_current_state()?
Although, since it is not checking any condition, it may not be buggy.
The check inside scheduler for state != TASK_RUNNING is protected inside
the rq locks, and any other task must grab the rq lock of the task
before it can change the task's state. schedule() also checks for
signals which would force schedule() to wake it up.
But that said, I still think that should be changed to
set_current_state(TASK_INTERRUPTIBLE).
-- Steve
next prev parent reply other threads:[~2010-01-19 19:43 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-13 1:37 Mathieu Desnoyers
2010-01-13 3:23 ` KOSAKI Motohiro
2010-01-13 3:58 ` Mathieu Desnoyers
2010-01-13 4:47 ` KOSAKI Motohiro
2010-01-13 5:33 ` Paul E. McKenney
2010-01-13 15:03 ` Mathieu Desnoyers
2010-01-14 0:15 ` KOSAKI Motohiro
2010-01-14 2:16 ` Mathieu Desnoyers
2010-01-14 2:25 ` KOSAKI Motohiro
2010-01-13 5:00 ` Nicholas Miell
2010-01-13 5:31 ` Paul E. McKenney
2010-01-13 5:39 ` Nicholas Miell
2010-01-13 14:38 ` Mathieu Desnoyers
2010-01-13 18:07 ` Nicholas Miell
2010-01-13 18:24 ` Mathieu Desnoyers
2010-01-13 18:41 ` Nicholas Miell
2010-01-13 19:17 ` Mathieu Desnoyers
2010-01-13 19:42 ` David Daney
2010-01-13 19:53 ` Nicholas Miell
2010-01-13 23:42 ` Mathieu Desnoyers
2010-01-13 15:58 ` Paul E. McKenney
2010-01-13 11:07 ` Heiko Carstens
2010-01-13 14:46 ` Mathieu Desnoyers
2010-01-13 16:38 ` Peter Zijlstra
2010-01-13 19:36 ` Mathieu Desnoyers
2010-01-14 9:08 ` Peter Zijlstra
2010-01-14 16:26 ` Mathieu Desnoyers
2010-01-14 17:03 ` Peter Zijlstra
2010-01-14 17:54 ` Mathieu Desnoyers
2010-01-14 18:37 ` Mathieu Desnoyers
2010-01-14 18:52 ` Steven Rostedt
2010-01-14 19:33 ` Mathieu Desnoyers
2010-01-14 21:26 ` Steven Rostedt
2010-01-19 18:37 ` Peter Zijlstra
2010-01-19 19:06 ` Peter Zijlstra
2010-01-20 3:13 ` Mathieu Desnoyers
2010-01-20 8:45 ` Peter Zijlstra
2010-01-21 11:26 ` Peter Zijlstra
2010-01-21 16:07 ` Mathieu Desnoyers
2010-01-21 16:12 ` Steven Rostedt
2010-01-21 16:22 ` Mathieu Desnoyers
2010-01-21 16:32 ` Steven Rostedt
2010-01-21 17:02 ` Mathieu Desnoyers
2010-01-21 16:17 ` Peter Zijlstra
2010-01-21 17:01 ` Mathieu Desnoyers
2010-01-19 19:43 ` Steven Rostedt [this message]
2010-01-14 18:50 ` Steven Rostedt
2010-01-19 16:47 ` Peter Zijlstra
2010-01-19 17:11 ` Mathieu Desnoyers
2010-01-19 17:30 ` Steven Rostedt
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=1263930224.31321.24.camel@gandalf.stny.rr.com \
--to=rostedt@goodmis.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mingo@elte.hu \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®