Monday, January 20, 2014

linux.kernel - 26 new messages in 20 topics - digest

linux.kernel
http://groups.google.com/group/linux.kernel?hl=en

linux.kernel@googlegroups.com

Today's topics:

* numa,sched,mm: remove p->numa_migrate_deferred - 4 messages, 1 author
http://groups.google.com/group/linux.kernel/t/34ca8de3d5507b71?hl=en
* MCS Lock: Restructure the MCS lock defines and locking code into its own
file - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/5b39dc81e50b1bbb?hl=en
* powerpc: Fix build dependencies for storcenter - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/fe625dfa333f09d6?hl=en
* mtd: nuc900_nand: remove redundant return value check of platform_get_
resource() - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/5cb22e1ba6612b3b?hl=en
* powerpc: Fix build dependencies for ep88xc - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/81d059cb039efcdd?hl=en
* Linux USB 3.0 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/4466cab471e9138b?hl=en
* x86/intel/mpx: Remove unused LWP structure - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/e5a8f746c106e63c?hl=en
* powerpc/kconfig: Remove TSI108_BRIDGE duplicates - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/de56aa557f37eee9?hl=en
* Why is (2 < 2) true? Is it a gcc bug? - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/587453bf46273e70?hl=en
* powerpc/mpic: Fix build errors for CONFIG_MPIC_WEIRD - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/d2f5afb816556037?hl=en
* arm64: advertise availability of CRC and crypto instructions - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/629256ad8eb9de95?hl=en
* mtd: davinci_nand: Remove unnecessary labels from error path - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/3f7a21b37739cbbb?hl=en
* Change khugepaged to respect MMF_THP_DISABLE flag - 3 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/eff632e7496a6e85?hl=en
* x86/cpufeature and mpx for v3.14 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/dc45e623e52471da?hl=en
* [PATCH] ASoC: wm8804: Allow control of master clock divider in PLL
generation - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/8c4c236a2ac2503e?hl=en
* ASoC: wm8804: Allow control of master clock divider in PLLgeneration - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/5079e0d6bd5c8326?hl=en
* ARM: dts: omap3-gta04: Add EOC irq gpio line handling. - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/492545eab8181f7f?hl=en
* system 1: Saving energy using DVFS - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/31799db64481d1a6?hl=en
* Linux 3.8.13.16 - 2 messages, 1 author
http://groups.google.com/group/linux.kernel/t/dea71f5566f18642?hl=en
* USB patches for 3.14-rc1 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/8e9f153a18a0af8f?hl=en

==============================================================================
TOPIC: numa,sched,mm: remove p->numa_migrate_deferred
http://groups.google.com/group/linux.kernel/t/34ca8de3d5507b71?hl=en
==============================================================================

== 1 of 4 ==
Date: Mon, Jan 20 2014 11:30 am
From: riel@redhat.com


From: Rik van Riel <riel@redhat.com>

Excessive migration of pages can hurt the performance of workloads
that span multiple NUMA nodes. However, it turns out that the
p->numa_migrate_deferred knob is a really big hammer, which does
reduce migration rates, but does not actually help performance.

Now that the second stage of the automatic numa balancing code
has stabilized, it is time to replace the simplistic migration
deferral code with something smarter.

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Chegu Vinod <chegu_vinod@hp.com>
Signed-off-by: Rik van Riel <riel@redhat.com>
---
include/linux/sched.h | 1 -
kernel/sched/fair.c | 8 --------
kernel/sysctl.c | 7 -------
mm/mempolicy.c | 45 ---------------------------------------------
4 files changed, 61 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 68a0e84..97efba4 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1469,7 +1469,6 @@ struct task_struct {
unsigned int numa_scan_period;
unsigned int numa_scan_period_max;
int numa_preferred_nid;
- int numa_migrate_deferred;
unsigned long numa_migrate_retry;
u64 node_stamp; /* migration stamp */
struct callback_head numa_work;
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 867b0a4..41e2176 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -819,14 +819,6 @@ unsigned int sysctl_numa_balancing_scan_size = 256;
/* Scan @scan_size MB every @scan_period after an initial @scan_delay in ms */
unsigned int sysctl_numa_balancing_scan_delay = 1000;

-/*
- * After skipping a page migration on a shared page, skip N more numa page
- * migrations unconditionally. This reduces the number of NUMA migrations
- * in shared memory workloads, and has the effect of pulling tasks towards
- * where their memory lives, over pulling the memory towards the task.
- */
-unsigned int sysctl_numa_balancing_migrate_deferred = 16;
-
static unsigned int task_nr_scan_windows(struct task_struct *p)
{
unsigned long rss = 0;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 096db74..4d19492 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -384,13 +384,6 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
{
- .procname = "numa_balancing_migrate_deferred",
- .data = &sysctl_numa_balancing_migrate_deferred,
- .maxlen = sizeof(unsigned int),
- .mode = 0644,
- .proc_handler = proc_dointvec,
- },
- {
.procname = "numa_balancing",
.data = NULL, /* filled in by handler */
.maxlen = sizeof(unsigned int),
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 36cb46c..052abac 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2301,35 +2301,6 @@ static void sp_free(struct sp_node *n)
kmem_cache_free(sn_cache, n);
}

-#ifdef CONFIG_NUMA_BALANCING
-static bool numa_migrate_deferred(struct task_struct *p, int last_cpupid)
-{
- /* Never defer a private fault */
- if (cpupid_match_pid(p, last_cpupid))
- return false;
-
- if (p->numa_migrate_deferred) {
- p->numa_migrate_deferred--;
- return true;
- }
- return false;
-}
-
-static inline void defer_numa_migrate(struct task_struct *p)
-{
- p->numa_migrate_deferred = sysctl_numa_balancing_migrate_deferred;
-}
-#else
-static inline bool numa_migrate_deferred(struct task_struct *p, int last_cpupid)
-{
- return false;
-}
-
-static inline void defer_numa_migrate(struct task_struct *p)
-{
-}
-

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate