mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: David Howells <dhowells@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>, Oleg Nesterov <oleg@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	serue@us.ibm.com, viro@zeniv.linux.org.uk,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] It may not be assumed that wake_up(), finish_wait() and co. imply a memory barrier
Date: Thu, 23 Apr 2009 10:07:04 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.2.00.0904231004120.3101@localhost.localdomain> (raw)
In-Reply-To: <21209.1240504344@redhat.com>



On Thu, 23 Apr 2009, David Howells wrote:
>
> I was wondering if wake_up() and friends should in fact imply smp_wmb(), but I
> guess that they're often used in conjunction with spinlocks - and in such a
> situation a barrier is unnecessary overhead.

I think we _have_ to imply a smp_wmb() in the wakup semantics, because 
otherwise sleepers can't do anything sane (no amount of barriers on the 
sleeping side will help). IOW, there basically has to be an implied write 
barrier between the thing that causes an event to become true, and the 
thing that turns 'task->state' back to RUNNING.

This is similar to the issue of doing cross-CPU IPI's: sending an IPI 
_must_ imply a memory barrier with the IPI mechanism, because otherwise 
the receiver could never do anything sane.

		Linus

  parent reply	other threads:[~2009-04-23 17:13 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-13 18:17 [PATCH] slow_work_thread() should do the exclusive wait Oleg Nesterov
2009-04-13 19:03 ` Trond Myklebust
2009-04-13 19:14   ` Oleg Nesterov
2009-04-13 21:35 ` David Howells
2009-04-13 21:40 ` David Howells
2009-04-13 21:48   ` Oleg Nesterov
2009-04-13 21:57     ` Trond Myklebust
2009-04-13 22:24       ` Oleg Nesterov
2009-04-15 23:27         ` Andrew Morton
2009-04-16  9:10         ` David Howells
2009-04-16 14:33           ` Oleg Nesterov
2009-04-22 13:37           ` [PATCH] Document that wake_up(), complete() and co. imply a full memory barrier David Howells
2009-04-22 13:51             ` Ingo Molnar
2009-04-22 14:39               ` Oleg Nesterov
2009-04-22 14:56                 ` Ingo Molnar
2009-04-22 15:07                   ` Oleg Nesterov
2009-04-22 15:12             ` David Howells
2009-04-22 15:19               ` Ingo Molnar
2009-04-22 16:23             ` David Howells
2009-04-22 17:57               ` Ingo Molnar
2009-04-23 16:36                 ` Oleg Nesterov
2009-04-23 20:37                 ` David Howells
2009-04-23 16:32               ` [PATCH] It may not be assumed that wake_up(), finish_wait() and co. imply a " David Howells
2009-04-23 16:55                 ` Oleg Nesterov
2009-04-23 17:07                 ` Linus Torvalds [this message]
2009-04-23 20:35                 ` David Howells
2009-04-23 21:12                   ` Linus Torvalds
2009-04-23 21:24                     ` Ingo Molnar
2009-04-24 11:46                 ` David Howells
2009-04-24 15:08                   ` Paul E. McKenney
2009-04-24 17:08                     ` Oleg Nesterov
2009-04-24 17:43                       ` Paul E. McKenney
2009-04-24 17:28                   ` Oleg Nesterov
2009-04-24 17:48                   ` David Howells
2009-04-24 18:06                     ` Paul E. McKenney
2009-04-28 10:18                     ` David Howells
2009-04-28 13:00                       ` Paul E. McKenney
2009-04-24 17:53                   ` David Howells
2009-04-24 18:30                     ` Oleg Nesterov
2009-04-23 16:00         ` [PATCH] slow_work_thread() should do the exclusive wait David Howells
2009-04-23 16:18           ` Oleg Nesterov

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=alpine.LFD.2.00.0904231004120.3101@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=oleg@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=serue@us.ibm.com \
    --cc=viro@zeniv.linux.org.uk \
    /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®