public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] freezer: use smp barriers
@ 2011-04-25  7:31 Mike Frysinger
  2011-04-25  8:38 ` Pavel Machek
  2011-04-25 10:38 ` Rafael J. Wysocki
  0 siblings, 2 replies; 3+ messages in thread
From: Mike Frysinger @ 2011-04-25  7:31 UTC (permalink / raw)
  To: Pavel Machek, Rafael J. Wysocki; +Cc: linux-kernel, linux-pm

The freezer processes are dealing with multiple threads running
simultaneously, and on a UP system, the memory reads/writes do
not need barriers to keep things in sync.  These are only needed
on SMP systems, so use SMP barriers instead.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 kernel/freezer.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/freezer.c b/kernel/freezer.c
index 66ecd2e..7b01de9 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -17,7 +17,7 @@ static inline void frozen_process(void)
 {
 	if (!unlikely(current->flags & PF_NOFREEZE)) {
 		current->flags |= PF_FROZEN;
-		wmb();
+		smp_wmb();
 	}
 	clear_freeze_flag(current);
 }
@@ -93,7 +93,7 @@ bool freeze_task(struct task_struct *p, bool sig_only)
 	 * the task as frozen and next clears its TIF_FREEZE.
 	 */
 	if (!freezing(p)) {
-		rmb();
+		smp_rmb();
 		if (frozen(p))
 			return false;
 
-- 
1.7.5.rc1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] freezer: use smp barriers
  2011-04-25  7:31 [PATCH] freezer: use smp barriers Mike Frysinger
@ 2011-04-25  8:38 ` Pavel Machek
  2011-04-25 10:38 ` Rafael J. Wysocki
  1 sibling, 0 replies; 3+ messages in thread
From: Pavel Machek @ 2011-04-25  8:38 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: Rafael J. Wysocki, linux-kernel, linux-pm

On Mon 2011-04-25 03:31:05, Mike Frysinger wrote:
> The freezer processes are dealing with multiple threads running
> simultaneously, and on a UP system, the memory reads/writes do
> not need barriers to keep things in sync.  These are only needed
> on SMP systems, so use SMP barriers instead.
> 
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

ACK.

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] freezer: use smp barriers
  2011-04-25  7:31 [PATCH] freezer: use smp barriers Mike Frysinger
  2011-04-25  8:38 ` Pavel Machek
@ 2011-04-25 10:38 ` Rafael J. Wysocki
  1 sibling, 0 replies; 3+ messages in thread
From: Rafael J. Wysocki @ 2011-04-25 10:38 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: Pavel Machek, linux-kernel, linux-pm

On Monday, April 25, 2011, Mike Frysinger wrote:
> The freezer processes are dealing with multiple threads running
> simultaneously, and on a UP system, the memory reads/writes do
> not need barriers to keep things in sync.  These are only needed
> on SMP systems, so use SMP barriers instead.
> 
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Applied to suspend-2.6/linux-next.

Thanks,
Rafael


> ---
>  kernel/freezer.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/freezer.c b/kernel/freezer.c
> index 66ecd2e..7b01de9 100644
> --- a/kernel/freezer.c
> +++ b/kernel/freezer.c
> @@ -17,7 +17,7 @@ static inline void frozen_process(void)
>  {
>  	if (!unlikely(current->flags & PF_NOFREEZE)) {
>  		current->flags |= PF_FROZEN;
> -		wmb();
> +		smp_wmb();
>  	}
>  	clear_freeze_flag(current);
>  }
> @@ -93,7 +93,7 @@ bool freeze_task(struct task_struct *p, bool sig_only)
>  	 * the task as frozen and next clears its TIF_FREEZE.
>  	 */
>  	if (!freezing(p)) {
> -		rmb();
> +		smp_rmb();
>  		if (frozen(p))
>  			return false;
>  
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-04-25 10:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-25  7:31 [PATCH] freezer: use smp barriers Mike Frysinger
2011-04-25  8:38 ` Pavel Machek
2011-04-25 10:38 ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox