/linux-5.19.10/kernel/cgroup/ |
D | legacy_freezer.c | 43 struct freezer { struct 50 static inline struct freezer *css_freezer(struct cgroup_subsys_state *css) in css_freezer() argument 52 return css ? container_of(css, struct freezer, css) : NULL; in css_freezer() 55 static inline struct freezer *task_freezer(struct task_struct *task) in task_freezer() 60 static struct freezer *parent_freezer(struct freezer *freezer) in parent_freezer() argument 62 return css_freezer(freezer->css.parent); in parent_freezer() 88 struct freezer *freezer; in freezer_css_alloc() local 90 freezer = kzalloc(sizeof(struct freezer), GFP_KERNEL); in freezer_css_alloc() 91 if (!freezer) in freezer_css_alloc() 94 return &freezer->css; in freezer_css_alloc() [all …]
|
D | freezer.c | 26 cgrp->freezer.nr_frozen_descendants += desc; in cgroup_propagate_frozen() 29 cgrp->freezer.nr_frozen_descendants == in cgroup_propagate_frozen() 37 cgrp->freezer.nr_frozen_descendants -= desc; in cgroup_propagate_frozen() 64 cgrp->freezer.nr_frozen_tasks == __cgroup_task_count(cgrp); in cgroup_update_frozen() 91 cgrp->freezer.nr_frozen_tasks++; in cgroup_inc_frozen_cnt() 99 cgrp->freezer.nr_frozen_tasks--; in cgroup_dec_frozen_cnt() 100 WARN_ON_ONCE(cgrp->freezer.nr_frozen_tasks < 0); in cgroup_dec_frozen_cnt() 213 if (cgrp->nr_descendants == cgrp->freezer.nr_frozen_descendants) in cgroup_do_freeze() 271 if (cgrp->freezer.freeze == freeze) in cgroup_freeze() 274 cgrp->freezer.freeze = freeze; in cgroup_freeze() [all …]
|
D | Makefile | 2 obj-y := cgroup.o rstat.o namespace.o cgroup-v1.o freezer.o
|
D | cgroup.c | 3769 seq_printf(seq, "%d\n", cgrp->freezer.freeze); in cgroup_freeze_show() 5445 cgrp->freezer.e_freeze = parent->freezer.e_freeze; in cgroup_create() 5446 if (cgrp->freezer.e_freeze) { in cgroup_create() 5469 if (cgrp->freezer.e_freeze) in cgroup_create() 5470 tcgrp->freezer.nr_frozen_descendants++; in cgroup_create() 5751 tcgrp->freezer.nr_frozen_descendants--; in cgroup_destroy_locked()
|
/linux-5.19.10/Documentation/admin-guide/cgroup-v1/ |
D | freezer-subsystem.rst | 5 The cgroup freezer is useful to batch job management system which start 9 whole. The cgroup freezer uses cgroups to describe the set of tasks to 13 The cgroup freezer will also be useful for checkpointing running groups 14 of tasks. The freezer allows the checkpoint code to obtain a consistent 51 In contrast, the cgroup freezer uses the kernel freezer code to 56 The cgroup freezer is hierarchical. Freezing a cgroup freezes all 62 The following cgroupfs files are created by cgroup freezer. 64 * freezer.state: Read-write. 87 * freezer.self_freezing: Read only. 90 This value is 1 iff the last write to freezer.state was "FROZEN". [all …]
|
D | index.rst | 16 freezer-subsystem
|
/linux-5.19.10/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
D | bcmsdh.c | 790 sdiodev->freezer = kzalloc(sizeof(*sdiodev->freezer), GFP_KERNEL); in brcmf_sdiod_freezer_attach() 791 if (!sdiodev->freezer) in brcmf_sdiod_freezer_attach() 793 atomic_set(&sdiodev->freezer->thread_count, 0); in brcmf_sdiod_freezer_attach() 794 atomic_set(&sdiodev->freezer->freezing, 0); in brcmf_sdiod_freezer_attach() 795 init_waitqueue_head(&sdiodev->freezer->thread_freeze); in brcmf_sdiod_freezer_attach() 796 init_completion(&sdiodev->freezer->resumed); in brcmf_sdiod_freezer_attach() 802 if (sdiodev->freezer) { in brcmf_sdiod_freezer_detach() 803 WARN_ON(atomic_read(&sdiodev->freezer->freezing)); in brcmf_sdiod_freezer_detach() 804 kfree(sdiodev->freezer); in brcmf_sdiod_freezer_detach() 810 atomic_t *expect = &sdiodev->freezer->thread_count; in brcmf_sdiod_freezer_on() [all …]
|
D | sdio.h | 191 struct brcmf_sdiod_freezer *freezer; member
|
/linux-5.19.10/Documentation/power/ |
D | freezing-of-tasks.rst | 31 results in a call to __refrigerator() (defined in kernel/freezer.c), which sets 35 to as 'the freezer' (these functions are defined in kernel/power/process.c, 36 kernel/freezer.c & include/linux/freezer.h). User space processes are generally 40 try_to_freeze() function (defined in include/linux/freezer.h), that checks 46 wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) 61 If a freezable kernel thread fails to call try_to_freeze() after the freezer has 230 consequence, the freezer would not be able to freeze that task, leading to 234 since they ask the freezer to skip freezing this task, since it is anyway
|
D | suspend-and-cpuhotplug.rst | 17 interactions involving the freezer and CPU hotplug and also tries to explain 272 2. If a regular CPU hotplug stress test happens to race with the freezer due 278 * Then freezer gets to work and freezes userspace. 282 * Now the freezer continues and tries to freeze the remaining tasks. But 283 due to this wait mentioned above, the freezer won't be able to freeze
|
D | basic-pm-debugging.rst | 52 freezer 105 should try the test modes starting from "freezer", through "devices", "platform" 109 If the "freezer" test fails, there is a task that cannot be frozen (in that case 112 that there is a problem with the tasks freezer subsystem that should be 224 Namely, after writing "freezer", "devices", "platform", "processors", or "core"
|
/linux-5.19.10/include/linux/ |
D | cgroup_subsys.h | 37 SUBSYS(freezer)
|
D | cgroup-defs.h | 488 struct cgroup_freezer_state freezer; member
|
/linux-5.19.10/ |
D | Kconfig | 12 source "kernel/Kconfig.freezer"
|
D | MAINTAINERS | 8160 F: include/linux/freezer.h 8161 F: kernel/freezer.c 8880 F: include/linux/freezer.h 19277 F: include/linux/freezer.h
|
/linux-5.19.10/kernel/ |
D | Makefile | 58 obj-$(CONFIG_FREEZER) += freezer.o
|
/linux-5.19.10/kernel/power/ |
D | Kconfig | 12 bool "Enable freezer for suspend to RAM/standby" \ 17 This allows you to turn off the freezer for suspend. If this is
|
/linux-5.19.10/Documentation/admin-guide/ |
D | dynamic-debug-howto.rst | 175 file kernel/freezer.c # ie column 1 of control file
|
D | cgroup-v2.rst | 2661 type controllers such as freezer which can be useful in all
|