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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Fri, 12 Oct 2012 04:25:49 -0700
From:	tip-bot for Peter Zijlstra <a.p.zijlstra@...llo.nl>
To:	linux-tip-commits@...r.kernel.org
Cc:	linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...nel.org,
	a.p.zijlstra@...llo.nl, tglx@...utronix.de
Subject: [tip:sched/numa] sched/numa: Introduce alternative wakeup bias

Commit-ID:  52a30f1fa3b9f0c0d1270b4e34be865e83b3e31b
Gitweb:     http://git.kernel.org/tip/52a30f1fa3b9f0c0d1270b4e34be865e83b3e31b
Author:     Peter Zijlstra <a.p.zijlstra@...llo.nl>
AuthorDate: Fri, 5 Oct 2012 15:57:54 +0200
Committer:  Ingo Molnar <mingo@...nel.org>
CommitDate: Fri, 12 Oct 2012 12:07:16 +0200

sched/numa: Introduce alternative wakeup bias

Rename NUMA_BIAS to NUMA_TTWU_BIAS to clarify what it does.

Also, disable by default, it seems too agressive. Also provide an
alternative to play with, instead of altering the prev cpu, alter
the waking cpu, maybe that's less agressive.

No clear data either way for the moment.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Link: http://lkml.kernel.org/n/tip-q93t6n7j1jaz36yh056msb5d@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
 kernel/sched/fair.c     |    7 +++++--
 kernel/sched/features.h |    3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f586f17..62d77ef 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3009,7 +3009,7 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
 	}
 
 	rcu_read_lock();
-	if (sched_feat_numa(NUMA_BIAS) && node != -1) {
+	if (sched_feat_numa(NUMA_TTWU_BIAS) && node != -1) {
 		/*
 		 * For fork,exec find the idlest cpu in the home-node.
 		 */
@@ -3031,7 +3031,10 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
 			if (node_cpu < 0)
 				goto find_sd;
 
-			prev_cpu = node_cpu;
+			if (sched_feat_numa(NUMA_TTWU_TO))
+				cpu = node_cpu;
+			else
+				prev_cpu = node_cpu;
 		}
 	}
 
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index 845b838..3293af4 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -66,7 +66,8 @@ SCHED_FEAT(LB_MIN, false)
 SCHED_FEAT(NUMA,           true)
 SCHED_FEAT(NUMA_FORCE_BIG, false)
 SCHED_FEAT(NUMA_HOT,       true)
-SCHED_FEAT(NUMA_BIAS,      true)
+SCHED_FEAT(NUMA_TTWU_BIAS, false)
+SCHED_FEAT(NUMA_TTWU_TO,   false)
 SCHED_FEAT(NUMA_PULL,      true)
 SCHED_FEAT(NUMA_PULL_BIAS, true)
 #endif
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ