linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Zhang Rui <rui.zhang@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	pm list <linux-pm@lists.linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	David Chinner <david@fromorbit.com>,
	Lachlan McIlroy <lachlan@sgi.com>
Subject: Re: spinlock in completion_done() (was: Re: Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33))
Date: Wed, 9 Dec 2009 10:29:22 +0100	[thread overview]
Message-ID: <20091209092922.GC28428@elte.hu> (raw)
In-Reply-To: <200912082248.14138.rjw@sisk.pl>


* Rafael J. Wysocki <rjw@sisk.pl> wrote:

> On Tuesday 08 December 2009, Alan Stern wrote:
> > On Tue, 8 Dec 2009, Rafael J. Wysocki wrote:
> > 
> > > BTW, is there a good reason why completion_done() doesn't use spin_lock_irqsave
> > > and spin_unlock_irqrestore?  complete() and complete_all() use them, so why not
> > > here?
> > 
> > And likewise in try_wait_for_completion().  It looks like a bug.  Maybe 
> > these routines were not intended to be called with interrupts disabled, 
> > but that requirement doesn't seem to be documented.  And it isn't a 
> > natural requirement anyway.
> 
> OK, let's ask Ingo about that.
> 
> Ingo, is there any particular reason why completion_done() and
> try_wait_for_completion() don't use spin_lock_irqsave() and
> spin_unlock_irqrestore()?

that's a bug that should be fixed - all the wakeup side (and atomic) 
variants of completetion API should be irq safe.

It appears that these new completion APIs were added via the XFS tree 
about a year ago:

  39d2f1a: [XFS] extend completions to provide XFS object flush requirements

Please Cc: scheduler folks to all scheduler patches.

	Ingo

  reply	other threads:[~2009-12-09  9:30 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-05 21:16 [GIT PULL] PM updates for 2.6.33 Rafael J. Wysocki
2009-12-05 21:43 ` Linus Torvalds
2009-12-05 21:58   ` Linus Torvalds
2009-12-05 23:55     ` Rafael J. Wysocki
2009-12-06  0:45       ` Arjan van de Ven
2009-12-06  1:26         ` Rafael J. Wysocki
2009-12-06  1:58           ` Arjan van de Ven
2009-12-06  8:39             ` Ingo Molnar
2009-12-06  0:48       ` Linus Torvalds
2009-12-06  1:54         ` Rafael J. Wysocki
2009-12-06  1:57           ` Rafael J. Wysocki
2009-12-06  2:05           ` Linus Torvalds
2009-12-06  2:36             ` Rafael J. Wysocki
2009-12-06 15:23             ` Alan Stern
2009-12-06 19:04               ` [linux-pm] " Victor Lowther
2009-12-07  3:57               ` Zhang Rui
2009-12-07  5:57                 ` Linus Torvalds
2009-12-07  6:15                   ` Linus Torvalds
2009-12-17 23:28                     ` Benjamin Herrenschmidt
2009-12-07  6:37                   ` Arjan van de Ven
2009-12-07 15:13                   ` Alan Stern
2009-12-07 16:31                     ` Linus Torvalds
2009-12-07 16:55                       ` Linus Torvalds
2009-12-07 17:52                       ` Alan Stern
2009-12-07 18:05                         ` Linus Torvalds
2009-12-07 20:37                           ` Alan Stern
2009-12-07 20:48                             ` Linus Torvalds
2009-12-07 21:32                               ` Alan Stern
2009-12-07 21:41                                 ` Linus Torvalds
2009-12-07 21:47                                   ` Rafael J. Wysocki
2009-12-07 22:01                                   ` Alan Stern
2009-12-07 22:06                                     ` Linus Torvalds
2009-12-07 22:21                                       ` Alan Stern
2009-12-07 22:26                                         ` Linus Torvalds
2009-12-07 23:16                                           ` Alan Stern
2009-12-07 22:02                                   ` Rafael J. Wysocki
2009-12-07 22:16                                     ` Linus Torvalds
2009-12-07 23:51                                       ` Rafael J. Wysocki
2009-12-08  3:27                                         ` Alan Stern
2009-12-08 12:23                                           ` Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33) Rafael J. Wysocki
2009-12-08 12:35                                             ` Rafael J. Wysocki
2009-12-08 15:35                                             ` Linus Torvalds
2009-12-08 15:55                                               ` Alan Stern
2009-12-08 16:42                                                 ` Linus Torvalds
2009-12-08 18:08                                                   ` Alan Stern
2009-12-08 18:41                                                     ` Linus Torvalds
2009-12-08 18:52                                                       ` Linus Torvalds
2009-12-08 19:34                                                         ` Alan Stern
2009-12-08 19:30                                                       ` Alan Stern
2009-12-08 20:48                                                         ` Linus Torvalds
2009-12-08 21:32                                                           ` Alan Stern
2009-12-08 21:52                                                             ` Christian Borntraeger
2009-12-08 22:16                                                             ` Linus Torvalds
2009-12-09 19:06                                                               ` Alan Stern
2009-12-09 21:52                                                                 ` Linus Torvalds
2009-12-08 19:44                                               ` Rafael J. Wysocki
2009-12-08 20:16                                                 ` Alan Stern
2009-12-08 20:30                                                   ` Rafael J. Wysocki
2009-12-08 20:44                                                     ` Alan Stern
2009-12-08 20:52                                                       ` Rafael J. Wysocki
2009-12-08 21:40                                                         ` Alan Stern
2009-12-08 21:48                                                           ` spinlock in completion_done() (was: Re: Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33)) Rafael J. Wysocki
2009-12-09  9:29                                                             ` Ingo Molnar [this message]
2009-12-09 22:37                                                               ` Rafael J. Wysocki
2009-12-10  7:59                                                                 ` Ingo Molnar
2009-12-11  4:10                                                                   ` Dave Chinner
2009-12-11  7:54                                                                     ` Ingo Molnar
2009-12-12 23:07                                                                   ` [PATCH] sched: Make wakeup side variants of completion API irq safe (was: Re: spinlock in completion_done()) Rafael J. Wysocki
2009-12-13  7:36                                                                     ` [tip:sched/urgent] sched: Make wakeup side and atomic variants of completion API irq safe tip-bot for Rafael J. Wysocki
2009-12-08 22:18                                                           ` Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33) Linus Torvalds
2009-12-09  2:11                                                             ` Alan Stern
2009-12-08 21:08                                                   ` Linus Torvalds
2009-12-08 21:13                                                     ` Linus Torvalds
2009-12-08 22:07                                                     ` Alan Stern
2009-12-08 22:30                                                       ` Rafael J. Wysocki
2009-12-09  2:23                                                         ` Alan Stern
2009-12-09 21:56                                                           ` Rafael J. Wysocki
2009-12-09 22:27                                                             ` Alan Stern
2009-12-08 22:32                                                       ` Linus Torvalds
2009-12-09  2:35                                                         ` Alan Stern
2009-12-09  2:54                                                           ` Linus Torvalds
2009-12-09 15:24                                                             ` Alan Stern
2009-12-09 15:38                                                               ` Linus Torvalds
2009-12-09 15:57                                                                 ` Alan Stern
2009-12-25 17:09                                                                   ` Pavel Machek
2009-12-09 13:38                                                           ` Mark Brown
2009-12-09 15:49                                                             ` Alan Stern
2009-12-09 16:02                                                               ` Mark Brown
2009-12-09 16:23                                                                 ` Alan Stern
2009-12-09 16:46                                                                   ` Mark Brown
2009-12-09 16:57                                                                     ` Linus Torvalds
2009-12-09 17:45                                                                       ` Mark Brown
2009-12-09 17:57                                                                         ` Linus Torvalds
2009-12-09 18:27                                                                           ` Mark Brown
2009-12-09 17:10                                                                     ` Alan Stern
2009-12-09 17:19                                                                       ` Linus Torvalds
2009-12-09 18:08                                                                       ` Mark Brown
2009-12-08 21:04                                                 ` Linus Torvalds
2009-12-08 21:40                                                   ` Rafael J. Wysocki
2009-12-08 22:03                                                     ` Rafael J. Wysocki
2009-12-08 22:55                                                       ` Async suspend-resume patch w/ rwsems " Rafael J. Wysocki
2009-12-08 23:24                                                         ` Rafael J. Wysocki
2009-12-09 20:15                                                         ` Alan Stern
2009-12-09 22:18                                                           ` Rafael J. Wysocki
2009-12-09 22:38                                                             ` Alan Stern
2009-12-09 23:18                                                               ` Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems) Rafael J. Wysocki
2009-12-10  2:51                                                                 ` Linus Torvalds
2009-12-10 19:40                                                                   ` Rafael J. Wysocki
2009-12-10 23:30                                                                     ` Linus Torvalds
2009-12-11  1:02                                                                       ` Rafael J. Wysocki
2009-12-11  1:25                                                                         ` Linus Torvalds
2009-12-11  3:42                                                                           ` Alan Stern
2009-12-11 22:17                                                                             ` Rafael J. Wysocki
2009-12-12  0:38                                                                               ` Alan Stern
2009-12-11 22:11                                                                           ` Rafael J. Wysocki
2009-12-11 22:31                                                                             ` Linus Torvalds
2009-12-11 23:48                                                                               ` Rafael J. Wysocki
2009-12-11 23:53                                                                                 ` Linus Torvalds
2009-12-12 17:48                                                                                   ` Rafael J. Wysocki
2009-12-12 18:54                                                                                     ` Linus Torvalds
2009-12-12 22:34                                                                                       ` Rafael J. Wysocki
2009-12-12 22:40                                                                                         ` Rafael J. Wysocki
2009-12-14 18:21                                                                                         ` Linus Torvalds
2009-12-14 22:11                                                                                           ` Rafael J. Wysocki
2009-12-14 22:41                                                                                             ` Linus Torvalds
2009-12-14 22:43                                                                                               ` Linus Torvalds
2009-12-14 23:18                                                                                               ` Rafael J. Wysocki
2009-12-15  0:10                                                                                                 ` Linus Torvalds
2009-12-15  0:11                                                                                                   ` Linus Torvalds
2009-12-15 11:14                                                                                                     ` Rafael J. Wysocki
2009-12-15 15:31                                                                                                       ` Linus Torvalds
2009-12-15 11:03                                                                                                   ` Rafael J. Wysocki
2009-12-15 15:26                                                                                                     ` Linus Torvalds
2009-12-15 15:55                                                                                                       ` Alan Stern
2009-12-15 16:28                                                                                                         ` Linus Torvalds
2009-12-15 18:57                                                                                                           ` Linus Torvalds
2009-12-15 20:26                                                                                                           ` Alan Stern
2009-12-15 21:26                                                                                                             ` Rafael J. Wysocki
2009-12-15 22:01                                                                                                               ` Alan Stern
2009-12-15 21:54                                                                                                             ` Linus Torvalds
2009-12-15 22:27                                                                                                               ` Alan Stern
2009-12-16  2:11                                                                                                       ` Rafael J. Wysocki
2009-12-16  6:40                                                                                                         ` Dmitry Torokhov
2009-12-18 22:43                                                                                                           ` Rafael J. Wysocki
2009-12-19 19:59                                                                                                             ` Dmitry Torokhov
2009-12-19 21:33                                                                                                               ` Rafael J. Wysocki
2009-12-19 22:29                                                                                                                 ` Rafael J. Wysocki
2009-12-19 22:43                                                                                                                   ` Dmitry Torokhov
2009-12-19 22:47                                                                                                                 ` Dmitry Torokhov
2009-12-19 23:10                                                                                                                   ` Rafael J. Wysocki
2009-12-19 23:22                                                                                                                     ` Dmitry Torokhov
2009-12-19 23:33                                                                                                                       ` Rafael J. Wysocki
2009-12-19 23:23                                                                                                                     ` Linus Torvalds
2009-12-19 23:40                                                                                                                       ` Rafael J. Wysocki
2009-12-19 23:46                                                                                                                         ` Linus Torvalds
2009-12-19 23:47                                                                                                                           ` Linus Torvalds
2009-12-19 23:54                                                                                                                             ` Rafael J. Wysocki
2009-12-19 23:53                                                                                                                           ` Rafael J. Wysocki
2009-12-20  0:09                                                                                                                             ` Linus Torvalds
2009-12-20  0:35                                                                                                                               ` Rafael J. Wysocki
2009-12-20  2:41                                                                                                                               ` Dmitry Torokhov
2009-12-20 19:25                                                                                                                                 ` [linux-pm] " Rafael J. Wysocki
2009-12-21  7:39                                                                                                                                   ` [linux-pm] Async suspend-resume patch w/ completions (was: Re: Async?suspend-resume " Dmitry Torokhov
2009-12-21 11:20                                                                                                                                     ` Vojtech Pavlik
2009-12-20  2:45                                                                                                                             ` Async suspend-resume patch w/ completions (was: Re: Async suspend-resume " Dmitry Torokhov
2009-12-20  3:59                                                                                                                         ` Alan Stern
2009-12-20 12:52                                                                                                                           ` Rafael J. Wysocki
2009-12-20 17:12                                                                                                                             ` Alan Stern
2009-12-20 18:10                                                                                                                               ` Rafael J. Wysocki
2009-12-20 19:38                                                                                                                                 ` Alan Stern
2009-12-20 19:51                                                                                                                                   ` Rafael J. Wysocki
2009-12-16 15:22                                                                                                         ` Alan Stern
2009-12-16 19:26                                                                                                           ` Rafael J. Wysocki
2009-12-16 15:47                                                                                                         ` Linus Torvalds
2009-12-16 19:27                                                                                                           ` Rafael J. Wysocki
2009-12-16 20:59                                                                                                             ` Linus Torvalds
2009-12-16 21:57                                                                                                               ` Rafael J. Wysocki
2009-12-16 22:11                                                                                                                 ` Linus Torvalds
2009-12-16 22:33                                                                                                                   ` Rafael J. Wysocki
2009-12-16 23:04                                                                                                                 ` Alan Stern
2009-12-16 23:18                                                                                                                   ` Rafael J. Wysocki
2009-12-17  1:30                                                                                                                     ` Rafael J. Wysocki
2009-12-17  1:49                                                                                                                 ` Rafael J. Wysocki
2009-12-17 20:06                                                                                                                   ` Alan Stern
2009-12-17 20:36                                                                                                                     ` Rafael J. Wysocki
2009-12-18  1:51                                                                                                                   ` Rafael J. Wysocki
2009-12-18 17:26                                                                                                                     ` Alan Stern
2009-12-19 21:41                                                                                                                       ` Rafael J. Wysocki
2009-12-20  3:48                                                                                                                         ` Alan Stern
2009-12-20 12:55                                                                                                                           ` Rafael J. Wysocki
2009-12-18 23:42                                                                                                                     ` Rafael J. Wysocki
2009-12-13 13:08                                                                                       ` Rafael J. Wysocki
2009-12-13 17:30                                                                                       ` Alan Stern
2009-12-13 19:02                                                                                         ` [linux-pm] " Alan Stern
2009-12-12  0:43                                                                                 ` Alan Stern
2009-12-12 17:35                                                                                   ` Rafael J. Wysocki
2009-12-10 15:31                                                                 ` Alan Stern
2009-12-10 15:45                                                                   ` Linus Torvalds
2009-12-10 18:37                                                                     ` Alan Stern
2009-12-10 23:51                                                                       ` Linus Torvalds
2009-12-10 21:14                                                                   ` Rafael J. Wysocki
2009-12-10 22:17                                                                     ` Alan Stern
2009-12-10 23:45                                                                       ` Rafael J. Wysocki
2009-12-07 15:15                   ` [GIT PULL] PM updates for 2.6.33 Rafael J. Wysocki
2009-12-07 16:37                     ` Linus Torvalds
2009-12-07 20:47                       ` Rafael J. Wysocki
2009-12-07 20:56                         ` Linus Torvalds
2009-12-07  5:20               ` Linus Torvalds
2009-12-07 15:42                 ` Alan Stern
2009-12-06 19:35             ` Arjan van de Ven
2009-12-06 19:58               ` Linus Torvalds
2009-12-06 20:18                 ` Arjan van de Ven
2009-12-06 21:08                   ` Linus Torvalds
2009-12-06 22:54                   ` Dmitry Torokhov
2009-12-07  0:55                     ` Arjan van de Ven
2009-12-07  2:27                       ` Dmitry Torokhov
2009-12-07  5:26                         ` Arjan van de Ven
2009-12-07  6:00                           ` Dmitry Torokhov
2009-12-21  9:01                             ` Pavel Machek
2009-12-07  1:18                     ` Arjan van de Ven
2009-12-07  2:27                       ` Dmitry Torokhov
2009-12-07  5:31                         ` Arjan van de Ven
2009-12-07  6:15                           ` Dmitry Torokhov
2009-12-07  6:31                             ` Arjan van de Ven
2009-12-07  6:32                               ` Dmitry Torokhov
2009-12-07 15:17                                 ` Rafael J. Wysocki
2009-12-06 20:36               ` Alan Stern
2009-12-06 21:17                 ` Arjan van de Ven
2009-12-06 21:46                   ` Alan Stern
2009-12-06 21:57                     ` Arjan van de Ven
2009-12-06 22:04                       ` Alan Stern
2009-12-06  0:29   ` Rafael J. Wysocki
2009-12-06  0:52     ` Linus Torvalds
2009-12-06  1:24       ` Rafael J. Wysocki
2009-12-06  1:50         ` Linus Torvalds

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=20091209092922.GC28428@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=david@fromorbit.com \
    --cc=lachlan@sgi.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=rjw@sisk.pl \
    --cc=rui.zhang@intel.com \
    --cc=stern@rowland.harvard.edu \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).