All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Freezer rewrite
@ 2021-10-09 10:07 Peter Zijlstra
  2021-10-09 10:07 ` [PATCH v3 1/6] freezer: Have {,un}lock_system_sleep() save/restore flags Peter Zijlstra
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Peter Zijlstra @ 2021-10-09 10:07 UTC (permalink / raw)
  To: rjw, oleg, mingo, vincent.guittot, dietmar.eggemann, rostedt,
	mgorman, Will Deacon
  Cc: linux-kernel, peterz, tj, linux-pm

Hi all,

This is the by now familiar rewrite of the freezer, but with yet another
attempt at getting the special blocked states (STOPPED/TRACED) right.

Currently it is already possible to tell if a task should be STOPPED from
looking at p->jobctl, the same idea is extended to TRACED and p->ptrace.

But treating p->jobctl/p->ptrace as canonical state, the blocked state can be
(hopefully correctly this time) reconstructed from it at all times.
Specifically, if a TRACED task was woken by the tracer, while the tracee was
FROZEN, the p->ptrace state will have been updated, and the thaw operation will
result in the wakeup.

Oleg, if you can please try and shoot holes in it again? :-)



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH v3 0/6] Freezer Rewrite
@ 2022-08-22 11:18 Peter Zijlstra
  2022-08-22 11:18 ` [PATCH v3 1/6] freezer: Have {,un}lock_system_sleep() save/restore flags Peter Zijlstra
  0 siblings, 1 reply; 14+ messages in thread
From: Peter Zijlstra @ 2022-08-22 11:18 UTC (permalink / raw)
  To: rjw, oleg, mingo, vincent.guittot, dietmar.eggemann, rostedt,
	mgorman, ebiederm, bigeasy, Will Deacon
  Cc: linux-kernel, peterz, tj, linux-pm

Hi all,

With Eric picking up the ptrace patches adding JOBCTL_STOPPED / JOBCTL_TRACED
and them having landed in Linus' tree, here a respin of the Freezer rewrite
that relies on it.

---
 drivers/acpi/x86/s2idle.c         |   12 +
 drivers/android/binder.c          |    4 
 drivers/media/pci/pt3/pt3.c       |    4 
 drivers/scsi/scsi_transport_spi.c |    7 -
 fs/cifs/inode.c                   |    4 
 fs/cifs/transport.c               |    5 
 fs/coredump.c                     |    5 
 fs/nfs/file.c                     |    3 
 fs/nfs/inode.c                    |   12 -
 fs/nfs/nfs3proc.c                 |    3 
 fs/nfs/nfs4proc.c                 |   14 +-
 fs/nfs/nfs4state.c                |    3 
 fs/nfs/pnfs.c                     |    4 
 fs/xfs/xfs_trans_ail.c            |    8 -
 include/linux/completion.h        |    1 
 include/linux/freezer.h           |  245 +-------------------------------------
 include/linux/sched.h             |   41 +++---
 include/linux/sunrpc/sched.h      |    7 -
 include/linux/suspend.h           |    8 -
 include/linux/umh.h               |    9 -
 include/linux/wait.h              |   40 +++++-
 init/do_mounts_initrd.c           |   10 -
 kernel/cgroup/legacy_freezer.c    |   23 +--
 kernel/exit.c                     |    4 
 kernel/fork.c                     |    5 
 kernel/freezer.c                  |  133 ++++++++++++++------
 kernel/futex/waitwake.c           |    8 -
 kernel/hung_task.c                |    4 
 kernel/power/hibernate.c          |   35 +++--
 kernel/power/main.c               |   18 +-
 kernel/power/process.c            |   10 -
 kernel/power/suspend.c            |   12 +
 kernel/power/user.c               |   24 ++-
 kernel/ptrace.c                   |    2 
 kernel/sched/completion.c         |    9 +
 kernel/sched/core.c               |    6 
 kernel/signal.c                   |   14 +-
 kernel/time/hrtimer.c             |    4 
 kernel/umh.c                      |   18 +-
 mm/khugepaged.c                   |    4 
 net/sunrpc/sched.c                |   12 -
 net/unix/af_unix.c                |    8 -
 42 files changed, 341 insertions(+), 461 deletions(-)


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

end of thread, other threads:[~2022-08-23 18:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-09 10:07 [PATCH v3 0/6] Freezer rewrite Peter Zijlstra
2021-10-09 10:07 ` [PATCH v3 1/6] freezer: Have {,un}lock_system_sleep() save/restore flags Peter Zijlstra
2021-10-14  8:58   ` Will Deacon
2021-10-09 10:07 ` [PATCH v3 2/6] freezer,umh: Clean up freezer/initrd interaction Peter Zijlstra
2021-10-14  9:13   ` Will Deacon
2021-10-09 10:07 ` [PATCH v3 3/6] ptrace: Order and comment PT_flags Peter Zijlstra
2021-10-14  9:31   ` Will Deacon
2021-10-14 14:27     ` Peter Zijlstra
2021-10-09 10:07 ` [PATCH v3 4/6] ptrace: Track __TASK_TRACED state in p->ptrace Peter Zijlstra
2021-10-09 10:07 ` [PATCH v3 5/6] sched,ptrace: Avoid relying on __TASK_TRACED | __TASK_STOPPED Peter Zijlstra
2021-10-09 10:08 ` [PATCH v3 6/6] freezer,sched: Rewrite core freezer logic Peter Zijlstra
2021-10-18 13:36   ` Peter Zijlstra
2022-08-22 11:18 [PATCH v3 0/6] Freezer Rewrite Peter Zijlstra
2022-08-22 11:18 ` [PATCH v3 1/6] freezer: Have {,un}lock_system_sleep() save/restore flags Peter Zijlstra
2022-08-23 17:25   ` Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.