* [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