lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 22 Jul 2014 21:59:05 -0400 From: "Chen, Gong" <gong.chen@...ux.intel.com> To: linux-kernel@...r.kernel.org Cc: mingo@...nel.org, tglx@...utronix.de, paulus@...ba.org, benh@...nel.crashing.org, tony.luck@...el.com, hpa@...or.com, jkosina@...e.cz, rafael.j.wysocki@...el.com, bp@...en8.de, linux@....linux.org.uk, ralf@...ux-mips.org, schwidefsky@...ibm.com, davem@...emloft.net, viro@...iv.linux.org.uk, fweisbec@...il.com, cl@...ux.com, akpm@...ux-foundation.org, axboe@...nel.dk, JBottomley@...allels.com, neilb@...e.de, christoffer.dall@...aro.org, rostedt@...dmis.org, rric@...nel.org, gregkh@...uxfoundation.org, mhocko@...e.cz, david@...morbit.com, "Chen, Gong" <gong.chen@...ux.intel.com> Subject: [RFC PATCH v1 29/70] kernel, sched, core: _FROZEN Cleanup Remove XXX_FROZEN state from sched/core. Signed-off-by: Chen, Gong <gong.chen@...ux.intel.com> --- kernel/sched/core.c | 55 ++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index bc1638b..f0aff5f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -459,13 +459,10 @@ hotplug_hrtick(struct notifier_block *nfb, unsigned long action, void *hcpu) { int cpu = (int)(long)hcpu; - switch (action) { + switch (action & ~CPU_TASKS_FROZEN) { case CPU_UP_CANCELED: - case CPU_UP_CANCELED_FROZEN: case CPU_DOWN_PREPARE: - case CPU_DOWN_PREPARE_FROZEN: case CPU_DEAD: - case CPU_DEAD_FROZEN: hrtick_clear(cpu_rq(cpu)); return NOTIFY_OK; } @@ -6742,30 +6739,28 @@ static int num_cpus_frozen; /* used to mark begin/end of suspend/resume */ static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action, void *hcpu) { - switch (action) { - case CPU_ONLINE_FROZEN: - case CPU_DOWN_FAILED_FROZEN: - - /* - * num_cpus_frozen tracks how many CPUs are involved in suspend - * resume sequence. As long as this is not the last online - * operation in the resume sequence, just build a single sched - * domain, ignoring cpusets. - */ - num_cpus_frozen--; - if (likely(num_cpus_frozen)) { - partition_sched_domains(1, NULL, NULL); - break; + switch (action & ~CPU_TASKS_FROZEN) { + case CPU_ONLINE: + case CPU_DOWN_FAILED: + if (action & CPU_TASKS_FROZEN) { + /* + * num_cpus_frozen tracks how many CPUs are involved + * in suspend resume sequence. As long as this is not + * the last online operation in the resume sequence, + * just build a single sched domain, ignoring cpusets. + */ + num_cpus_frozen--; + if (likely(num_cpus_frozen)) { + partition_sched_domains(1, NULL, NULL); + break; + } } /* - * This is the last CPU online operation. So fall through and - * restore the original sched domains by considering the - * cpuset configurations. + * This is the last CPU online operation. So restore the + * original sched domains by considering the cpuset + * configurations. */ - - case CPU_ONLINE: - case CPU_DOWN_FAILED: cpuset_update_active_cpus(true); break; default: @@ -6777,13 +6772,13 @@ static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action, static int cpuset_cpu_inactive(struct notifier_block *nfb, unsigned long action, void *hcpu) { - switch (action) { + switch (action & ~CPU_TASKS_FROZEN) { case CPU_DOWN_PREPARE: - cpuset_update_active_cpus(false); - break; - case CPU_DOWN_PREPARE_FROZEN: - num_cpus_frozen++; - partition_sched_domains(1, NULL, NULL); + if (action & CPU_TASKS_FROZEN) { + num_cpus_frozen++; + partition_sched_domains(1, NULL, NULL); + } else + cpuset_update_active_cpus(false); break; default: return NOTIFY_DONE; -- 2.0.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists