* [GIT PULL pm/for-next] pm: freezer updates
@ 2011-11-03 22:31 Tejun Heo
2011-11-06 0:01 ` Rafael J. Wysocki
2011-11-21 20:38 ` Tejun Heo
0 siblings, 2 replies; 9+ messages in thread
From: Tejun Heo @ 2011-11-03 22:31 UTC (permalink / raw)
To: Rafael J. Wysocki, linux-pm; +Cc: linux-kernel
Hello, Rafael.
This is pull request for the following pending patches[ets].
[1] freezer: fix various bugs and simplify implementation, take#2
[2] usb_storage: don't use set_freezable_with_signal()
[3] freezer: kill unused set_freezable_with_signal()
[4] freezer: fix wait_event_freezable/__thaw_task races
The patches are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
Oleg Nesterov (1):
freezer: fix wait_event_freezable/__thaw_task races
Tejun Heo (22):
freezer: fix current->state restoration race in refrigerator()
freezer: don't unnecessarily set PF_NOFREEZE explicitly
freezer: unexport refrigerator() and update try_to_freeze() slightly
freezer: implement and use kthread_freezable_should_stop()
freezer: rename thaw_process() to __thaw_task() and simplify the implementation
freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks
freezer: don't distinguish nosig tasks on thaw
freezer: use dedicated lock instead of task_lock() + memory barrier
freezer: make freezing indicate freeze condition in effect
freezer: test freezable conditions while holding freezer_lock
freezer: kill PF_FREEZING
freezer: clean up freeze_processes() failure path
cgroup_freezer: prepare for removal of TIF_FREEZE
freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE
freezer: remove now unused TIF_FREEZE
freezer: remove should_send_signal() and update frozen()
freezer: fix set_freezable[_with_signal]() race
freezer: restructure __refrigerator()
freezer: use lock_task_sighand() in fake_signal_wake_up()
freezer: remove unused @sig_only from freeze_task()
usb_storage: don't use set_freezable_with_signal()
freezer: kill unused set_freezable_with_signal()
Documentation/power/freezing-of-tasks.txt | 14 +-
arch/alpha/include/asm/thread_info.h | 2 -
arch/arm/include/asm/thread_info.h | 2 -
arch/avr32/include/asm/thread_info.h | 2 -
arch/blackfin/include/asm/thread_info.h | 2 -
arch/cris/include/asm/thread_info.h | 2 -
arch/frv/include/asm/thread_info.h | 2 -
arch/h8300/include/asm/thread_info.h | 2 -
arch/ia64/include/asm/thread_info.h | 2 -
arch/m32r/include/asm/thread_info.h | 2 -
arch/m68k/include/asm/thread_info.h | 1 -
arch/microblaze/include/asm/thread_info.h | 2 -
arch/mips/include/asm/thread_info.h | 2 -
arch/mn10300/include/asm/thread_info.h | 2 -
arch/parisc/include/asm/thread_info.h | 2 -
arch/powerpc/include/asm/thread_info.h | 2 -
arch/s390/include/asm/thread_info.h | 2 -
arch/sh/include/asm/thread_info.h | 2 -
arch/sparc/include/asm/thread_info_32.h | 2 -
arch/sparc/include/asm/thread_info_64.h | 2 -
arch/um/include/asm/thread_info.h | 2 -
arch/unicore32/include/asm/thread_info.h | 2 -
arch/x86/include/asm/thread_info.h | 2 -
arch/xtensa/include/asm/thread_info.h | 2 -
drivers/bluetooth/btmrvl_main.c | 2 -
drivers/mfd/twl4030-irq.c | 3 -
drivers/mfd/twl6030-irq.c | 2 -
drivers/net/irda/stir4200.c | 2 +-
drivers/platform/x86/thinkpad_acpi.c | 15 +--
drivers/staging/rts_pstor/rtsx.c | 2 -
drivers/usb/storage/usb.c | 13 +-
fs/btrfs/async-thread.c | 2 +-
fs/btrfs/disk-io.c | 8 +-
fs/ext4/super.c | 3 +-
fs/fs-writeback.c | 4 +-
fs/gfs2/log.c | 4 +-
fs/gfs2/quota.c | 4 +-
fs/jbd/journal.c | 2 +-
fs/jbd2/journal.c | 2 +-
fs/jfs/jfs_logmgr.c | 2 +-
fs/jfs/jfs_txnmgr.c | 4 +-
fs/nilfs2/segment.c | 2 +-
fs/xfs/xfs_buf.c | 2 +-
include/linux/freezer.h | 117 ++++++-----------
include/linux/kthread.h | 1 +
include/linux/sched.h | 4 +-
kernel/cgroup_freezer.c | 63 ++++-----
kernel/exit.c | 3 +-
kernel/fork.c | 1 -
kernel/freezer.c | 203 +++++++++++++++--------------
kernel/kthread.c | 27 ++++-
kernel/power/hibernate.c | 15 +--
kernel/power/process.c | 77 +++++-------
kernel/power/suspend.c | 8 +-
kernel/power/user.c | 4 +-
mm/backing-dev.c | 8 +-
56 files changed, 279 insertions(+), 389 deletions(-)
--
tejun
[1] http://thread.gmane.org/gmane.linux.kernel/1209247
[2] http://thread.gmane.org/gmane.linux.kernel/1209416
[3] http://thread.gmane.org/gmane.linux.kernel/1209416/focus=1209417
[4] http://thread.gmane.org/gmane.linux.kernel/1209444
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-03 22:31 [GIT PULL pm/for-next] pm: freezer updates Tejun Heo
@ 2011-11-06 0:01 ` Rafael J. Wysocki
2011-11-06 12:12 ` Rafael J. Wysocki
2011-11-21 20:38 ` Tejun Heo
1 sibling, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2011-11-06 0:01 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-pm, linux-kernel
On Thursday, November 03, 2011, Tejun Heo wrote:
> Hello, Rafael.
>
> This is pull request for the following pending patches[ets].
>
> [1] freezer: fix various bugs and simplify implementation, take#2
> [2] usb_storage: don't use set_freezable_with_signal()
> [3] freezer: kill unused set_freezable_with_signal()
> [4] freezer: fix wait_event_freezable/__thaw_task races
>
> The patches are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
I pulled this to linux-pm/pm-freezer, but there were merge conflicts that
I'm not 100% have been resolved correctly. Please double check if the
resulting branch is OK.
Thanks,
Rafael
>
> Oleg Nesterov (1):
> freezer: fix wait_event_freezable/__thaw_task races
>
> Tejun Heo (22):
> freezer: fix current->state restoration race in refrigerator()
> freezer: don't unnecessarily set PF_NOFREEZE explicitly
> freezer: unexport refrigerator() and update try_to_freeze() slightly
> freezer: implement and use kthread_freezable_should_stop()
> freezer: rename thaw_process() to __thaw_task() and simplify the implementation
> freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks
> freezer: don't distinguish nosig tasks on thaw
> freezer: use dedicated lock instead of task_lock() + memory barrier
> freezer: make freezing indicate freeze condition in effect
> freezer: test freezable conditions while holding freezer_lock
> freezer: kill PF_FREEZING
> freezer: clean up freeze_processes() failure path
> cgroup_freezer: prepare for removal of TIF_FREEZE
> freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE
> freezer: remove now unused TIF_FREEZE
> freezer: remove should_send_signal() and update frozen()
> freezer: fix set_freezable[_with_signal]() race
> freezer: restructure __refrigerator()
> freezer: use lock_task_sighand() in fake_signal_wake_up()
> freezer: remove unused @sig_only from freeze_task()
> usb_storage: don't use set_freezable_with_signal()
> freezer: kill unused set_freezable_with_signal()
>
> Documentation/power/freezing-of-tasks.txt | 14 +-
> arch/alpha/include/asm/thread_info.h | 2 -
> arch/arm/include/asm/thread_info.h | 2 -
> arch/avr32/include/asm/thread_info.h | 2 -
> arch/blackfin/include/asm/thread_info.h | 2 -
> arch/cris/include/asm/thread_info.h | 2 -
> arch/frv/include/asm/thread_info.h | 2 -
> arch/h8300/include/asm/thread_info.h | 2 -
> arch/ia64/include/asm/thread_info.h | 2 -
> arch/m32r/include/asm/thread_info.h | 2 -
> arch/m68k/include/asm/thread_info.h | 1 -
> arch/microblaze/include/asm/thread_info.h | 2 -
> arch/mips/include/asm/thread_info.h | 2 -
> arch/mn10300/include/asm/thread_info.h | 2 -
> arch/parisc/include/asm/thread_info.h | 2 -
> arch/powerpc/include/asm/thread_info.h | 2 -
> arch/s390/include/asm/thread_info.h | 2 -
> arch/sh/include/asm/thread_info.h | 2 -
> arch/sparc/include/asm/thread_info_32.h | 2 -
> arch/sparc/include/asm/thread_info_64.h | 2 -
> arch/um/include/asm/thread_info.h | 2 -
> arch/unicore32/include/asm/thread_info.h | 2 -
> arch/x86/include/asm/thread_info.h | 2 -
> arch/xtensa/include/asm/thread_info.h | 2 -
> drivers/bluetooth/btmrvl_main.c | 2 -
> drivers/mfd/twl4030-irq.c | 3 -
> drivers/mfd/twl6030-irq.c | 2 -
> drivers/net/irda/stir4200.c | 2 +-
> drivers/platform/x86/thinkpad_acpi.c | 15 +--
> drivers/staging/rts_pstor/rtsx.c | 2 -
> drivers/usb/storage/usb.c | 13 +-
> fs/btrfs/async-thread.c | 2 +-
> fs/btrfs/disk-io.c | 8 +-
> fs/ext4/super.c | 3 +-
> fs/fs-writeback.c | 4 +-
> fs/gfs2/log.c | 4 +-
> fs/gfs2/quota.c | 4 +-
> fs/jbd/journal.c | 2 +-
> fs/jbd2/journal.c | 2 +-
> fs/jfs/jfs_logmgr.c | 2 +-
> fs/jfs/jfs_txnmgr.c | 4 +-
> fs/nilfs2/segment.c | 2 +-
> fs/xfs/xfs_buf.c | 2 +-
> include/linux/freezer.h | 117 ++++++-----------
> include/linux/kthread.h | 1 +
> include/linux/sched.h | 4 +-
> kernel/cgroup_freezer.c | 63 ++++-----
> kernel/exit.c | 3 +-
> kernel/fork.c | 1 -
> kernel/freezer.c | 203 +++++++++++++++--------------
> kernel/kthread.c | 27 ++++-
> kernel/power/hibernate.c | 15 +--
> kernel/power/process.c | 77 +++++-------
> kernel/power/suspend.c | 8 +-
> kernel/power/user.c | 4 +-
> mm/backing-dev.c | 8 +-
> 56 files changed, 279 insertions(+), 389 deletions(-)
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-06 0:01 ` Rafael J. Wysocki
@ 2011-11-06 12:12 ` Rafael J. Wysocki
2011-11-06 16:47 ` Tejun Heo
0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2011-11-06 12:12 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-pm, linux-kernel
On Sunday, November 06, 2011, Rafael J. Wysocki wrote:
> On Thursday, November 03, 2011, Tejun Heo wrote:
> > Hello, Rafael.
> >
> > This is pull request for the following pending patches[ets].
> >
> > [1] freezer: fix various bugs and simplify implementation, take#2
> > [2] usb_storage: don't use set_freezable_with_signal()
> > [3] freezer: kill unused set_freezable_with_signal()
> > [4] freezer: fix wait_event_freezable/__thaw_task races
> >
> > The patches are available in the git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
>
> I pulled this to linux-pm/pm-freezer, but there were merge conflicts that
> I'm not 100% have been resolved correctly. Please double check if the
> resulting branch is OK.
I found a mismerge in the meantime, so the linux-pm/pm-freezer branch has
been re-created from scratch. Please double check if it's correct.
I intend to start merging it into linux-next after 3.2-rc1 has been released.
Thanks,
Rafael
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-06 12:12 ` Rafael J. Wysocki
@ 2011-11-06 16:47 ` Tejun Heo
2011-11-06 21:10 ` Rafael J. Wysocki
0 siblings, 1 reply; 9+ messages in thread
From: Tejun Heo @ 2011-11-06 16:47 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: linux-pm, linux-kernel
Hello, Rafael.
On Sun, Nov 06, 2011 at 01:12:56PM +0100, Rafael J. Wysocki wrote:
> On Sunday, November 06, 2011, Rafael J. Wysocki wrote:
> > On Thursday, November 03, 2011, Tejun Heo wrote:
> > > Hello, Rafael.
> > >
> > > This is pull request for the following pending patches[ets].
> > >
> > > [1] freezer: fix various bugs and simplify implementation, take#2
> > > [2] usb_storage: don't use set_freezable_with_signal()
> > > [3] freezer: kill unused set_freezable_with_signal()
> > > [4] freezer: fix wait_event_freezable/__thaw_task races
> > >
> > > The patches are available in the git repository at:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
> >
> > I pulled this to linux-pm/pm-freezer, but there were merge conflicts that
> > I'm not 100% have been resolved correctly. Please double check if the
> > resulting branch is OK.
>
> I found a mismerge in the meantime, so the linux-pm/pm-freezer branch has
> been re-created from scratch. Please double check if it's correct.
>
> I intend to start merging it into linux-next after 3.2-rc1 has been released.
fake_signal_wake_up() merging seems wrong. It should be calling
signal_wake_up() with @resume == 0. Other than that, everything looks
correct to me.
Thank you.
--
tejun
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-06 16:47 ` Tejun Heo
@ 2011-11-06 21:10 ` Rafael J. Wysocki
2011-11-06 21:16 ` Tejun Heo
0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2011-11-06 21:10 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-pm, linux-kernel
On Sunday, November 06, 2011, Tejun Heo wrote:
> Hello, Rafael.
>
> On Sun, Nov 06, 2011 at 01:12:56PM +0100, Rafael J. Wysocki wrote:
> > On Sunday, November 06, 2011, Rafael J. Wysocki wrote:
> > > On Thursday, November 03, 2011, Tejun Heo wrote:
> > > > Hello, Rafael.
> > > >
> > > > This is pull request for the following pending patches[ets].
> > > >
> > > > [1] freezer: fix various bugs and simplify implementation, take#2
> > > > [2] usb_storage: don't use set_freezable_with_signal()
> > > > [3] freezer: kill unused set_freezable_with_signal()
> > > > [4] freezer: fix wait_event_freezable/__thaw_task races
> > > >
> > > > The patches are available in the git repository at:
> > > >
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
> > >
> > > I pulled this to linux-pm/pm-freezer, but there were merge conflicts that
> > > I'm not 100% have been resolved correctly. Please double check if the
> > > resulting branch is OK.
> >
> > I found a mismerge in the meantime, so the linux-pm/pm-freezer branch has
> > been re-created from scratch. Please double check if it's correct.
> >
> > I intend to start merging it into linux-next after 3.2-rc1 has been released.
>
> fake_signal_wake_up() merging seems wrong. It should be calling
> signal_wake_up() with @resume == 0. Other than that, everything looks
> correct to me.
Do you mean something like this is needed on top of linux-pm/pm-freezer:
---
kernel/freezer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-pm/kernel/freezer.c
===================================================================
--- linux-pm.orig/kernel/freezer.c
+++ linux-pm/kernel/freezer.c
@@ -90,7 +90,7 @@ static void fake_signal_wake_up(struct t
unsigned long flags;
if (lock_task_sighand(p, &flags)) {
- signal_wake_up(p, 1);
+ signal_wake_up(p, 0);
unlock_task_sighand(p, &flags);
}
}
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-06 21:10 ` Rafael J. Wysocki
@ 2011-11-06 21:16 ` Tejun Heo
2011-11-06 21:23 ` Rafael J. Wysocki
0 siblings, 1 reply; 9+ messages in thread
From: Tejun Heo @ 2011-11-06 21:16 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: linux-pm, linux-kernel
Hello,
On Sun, Nov 6, 2011 at 1:10 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> Do you mean something like this is needed on top of linux-pm/pm-freezer:
>
> ---
> kernel/freezer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-pm/kernel/freezer.c
> ===================================================================
> --- linux-pm.orig/kernel/freezer.c
> +++ linux-pm/kernel/freezer.c
> @@ -90,7 +90,7 @@ static void fake_signal_wake_up(struct t
> unsigned long flags;
>
> if (lock_task_sighand(p, &flags)) {
> - signal_wake_up(p, 1);
> + signal_wake_up(p, 0);
Yeap, that was the only discrepancy I could find.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-06 21:16 ` Tejun Heo
@ 2011-11-06 21:23 ` Rafael J. Wysocki
0 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2011-11-06 21:23 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-pm, linux-kernel
On Sunday, November 06, 2011, Tejun Heo wrote:
> Hello,
>
> On Sun, Nov 6, 2011 at 1:10 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > Do you mean something like this is needed on top of linux-pm/pm-freezer:
> >
> > ---
> > kernel/freezer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > Index: linux-pm/kernel/freezer.c
> > ===================================================================
> > --- linux-pm.orig/kernel/freezer.c
> > +++ linux-pm/kernel/freezer.c
> > @@ -90,7 +90,7 @@ static void fake_signal_wake_up(struct t
> > unsigned long flags;
> >
> > if (lock_task_sighand(p, &flags)) {
> > - signal_wake_up(p, 1);
> > + signal_wake_up(p, 0);
>
> Yeap, that was the only discrepancy I could find.
OK, I'll apply this on top of the merge commit.
Thanks,
Rafael
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-03 22:31 [GIT PULL pm/for-next] pm: freezer updates Tejun Heo
2011-11-06 0:01 ` Rafael J. Wysocki
@ 2011-11-21 20:38 ` Tejun Heo
2011-11-21 21:23 ` Rafael J. Wysocki
1 sibling, 1 reply; 9+ messages in thread
From: Tejun Heo @ 2011-11-21 20:38 UTC (permalink / raw)
To: Rafael J. Wysocki, linux-pm
Cc: linux-kernel, g.liakhovetski, dan.j.williams, nicolas.ferre,
vinod.koul
Hello,
Just heads up. I incorporated the patch to drop
set_freezable_with_signal() in the series and rebased in on top of the
current master. The new HEAD is 465708e9c8 "freezer: fix
wait_event_freezable/__thaw_task races".
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
Once the dmatest patch gets acked, I'll send a proper pull request.
Thank you.
--
tejun
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL pm/for-next] pm: freezer updates
2011-11-21 20:38 ` Tejun Heo
@ 2011-11-21 21:23 ` Rafael J. Wysocki
0 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2011-11-21 21:23 UTC (permalink / raw)
To: Tejun Heo
Cc: linux-pm, linux-kernel, g.liakhovetski, dan.j.williams,
nicolas.ferre, vinod.koul
On Monday, November 21, 2011, Tejun Heo wrote:
> Hello,
>
> Just heads up. I incorporated the patch to drop
> set_freezable_with_signal() in the series and rebased in on top of the
> current master. The new HEAD is 465708e9c8 "freezer: fix
> wait_event_freezable/__thaw_task races".
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git pm-freezer
>
> Once the dmatest patch gets acked, I'll send a proper pull request.
OK, thanks a lot!
Rafael
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-11-21 21:21 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-03 22:31 [GIT PULL pm/for-next] pm: freezer updates Tejun Heo
2011-11-06 0:01 ` Rafael J. Wysocki
2011-11-06 12:12 ` Rafael J. Wysocki
2011-11-06 16:47 ` Tejun Heo
2011-11-06 21:10 ` Rafael J. Wysocki
2011-11-06 21:16 ` Tejun Heo
2011-11-06 21:23 ` Rafael J. Wysocki
2011-11-21 20:38 ` Tejun Heo
2011-11-21 21:23 ` 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