linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
@ 2013-12-12  7:23 Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 2/4] sched/numa: use wrapper function task_node to get node which task is on Wanpeng Li
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-12  7:23 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Andrew Morton, Rik van Riel, Mel Gorman, Naoya Horiguchi,
	linux-kernel, linux-mm, Wanpeng Li

Changelog:
 v7 -> v8:
  * remove references to it in Documentation/sysctl/kernel.txt 

commit 887c290e (sched/numa: Decide whether to favour task or group weights
based on swap candidate relationships) drop the check against
sysctl_numa_balancing_settle_count, this patch remove the sysctl.

Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 Documentation/sysctl/kernel.txt |    5 -----
 include/linux/sched/sysctl.h    |    1 -
 kernel/sched/fair.c             |    9 ---------
 kernel/sysctl.c                 |    7 -------
 4 files changed, 0 insertions(+), 22 deletions(-)

diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
index 26b7ee4..6d48640 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -428,11 +428,6 @@ rate for each task.
 numa_balancing_scan_size_mb is how many megabytes worth of pages are
 scanned for a given scan.
 
-numa_balancing_settle_count is how many scan periods must complete before
-the schedule balancer stops pushing the task towards a preferred node. This
-gives the scheduler a chance to place the task on an alternative node if the
-preferred node is overloaded.
-
 numa_balancing_migrate_deferred is how many page migrations get skipped
 unconditionally, after a page migration is skipped because a page is shared
 with other tasks. This reduces page migration overhead, and determines
diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
index 41467f8..31e0193 100644
--- a/include/linux/sched/sysctl.h
+++ b/include/linux/sched/sysctl.h
@@ -48,7 +48,6 @@ extern unsigned int sysctl_numa_balancing_scan_delay;
 extern unsigned int sysctl_numa_balancing_scan_period_min;
 extern unsigned int sysctl_numa_balancing_scan_period_max;
 extern unsigned int sysctl_numa_balancing_scan_size;
-extern unsigned int sysctl_numa_balancing_settle_count;
 
 #ifdef CONFIG_SCHED_DEBUG
 extern unsigned int sysctl_sched_migration_cost;
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index fd773ad..acdef27 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -886,15 +886,6 @@ static unsigned int task_scan_max(struct task_struct *p)
 	return max(smin, smax);
 }
 
-/*
- * Once a preferred node is selected the scheduler balancer will prefer moving
- * a task to that node for sysctl_numa_balancing_settle_count number of PTE
- * scans. This will give the process the chance to accumulate more faults on
- * the preferred node but still allow the scheduler to move the task again if
- * the nodes CPUs are overloaded.
- */
-unsigned int sysctl_numa_balancing_settle_count __read_mostly = 4;
-
 static void account_numa_enqueue(struct rq *rq, struct task_struct *p)
 {
 	rq->nr_numa_running += (p->numa_preferred_nid != -1);
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 34a6047..c8da99f 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -385,13 +385,6 @@ static struct ctl_table kern_table[] = {
 		.proc_handler	= proc_dointvec,
 	},
 	{
-		.procname       = "numa_balancing_settle_count",
-		.data           = &sysctl_numa_balancing_settle_count,
-		.maxlen         = sizeof(unsigned int),
-		.mode           = 0644,
-		.proc_handler   = proc_dointvec,
-	},
-	{
 		.procname       = "numa_balancing_migrate_deferred",
 		.data           = &sysctl_numa_balancing_migrate_deferred,
 		.maxlen         = sizeof(unsigned int),
-- 
1.7.7.6

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* [PATCH v8 2/4] sched/numa: use wrapper function task_node to get node which task is on
  2013-12-12  7:23 [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
@ 2013-12-12  7:23 ` Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 3/4] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults Wanpeng Li
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-12  7:23 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Andrew Morton, Rik van Riel, Mel Gorman, Naoya Horiguchi,
	linux-kernel, linux-mm, Wanpeng Li

Changelog:
 v2 -> v3:
  * tranlate cpu_to_node(task_cpu(p)) to task_node(p) in sched/debug.c

Use wrapper function task_node to get node which task is on.

Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 kernel/sched/debug.c |    2 +-
 kernel/sched/fair.c  |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 5c34d18..374fe04 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -139,7 +139,7 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p)
 		0LL, 0LL, 0LL, 0L, 0LL, 0L, 0LL, 0L);
 #endif
 #ifdef CONFIG_NUMA_BALANCING
-	SEQ_printf(m, " %d", cpu_to_node(task_cpu(p)));
+	SEQ_printf(m, " %d", task_node(p));
 #endif
 #ifdef CONFIG_CGROUP_SCHED
 	SEQ_printf(m, " %s", task_group_path(task_group(p)));
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index acdef27..c3f6ff9 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1216,7 +1216,7 @@ static int task_numa_migrate(struct task_struct *p)
 	 * elsewhere, so there is no point in (re)trying.
 	 */
 	if (unlikely(!sd)) {
-		p->numa_preferred_nid = cpu_to_node(task_cpu(p));
+		p->numa_preferred_nid = task_node(p);
 		return -EINVAL;
 	}
 
@@ -1283,7 +1283,7 @@ static void numa_migrate_preferred(struct task_struct *p)
 	p->numa_migrate_retry = jiffies + HZ;
 
 	/* Success if task is already running on preferred CPU */
-	if (cpu_to_node(task_cpu(p)) == p->numa_preferred_nid)
+	if (task_node(p) == p->numa_preferred_nid)
 		return;
 
 	/* Otherwise, try migrate to a CPU on the preferred node */
-- 
1.7.7.6

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* [PATCH v8 3/4] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults
  2013-12-12  7:23 [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 2/4] sched/numa: use wrapper function task_node to get node which task is on Wanpeng Li
@ 2013-12-12  7:23 ` Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 4/4] sched/numa: fix period_slot recalculation Wanpeng Li
  2013-12-13 18:09 ` [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Peter Zijlstra
  3 siblings, 0 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-12  7:23 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Andrew Morton, Rik van Riel, Mel Gorman, Naoya Horiguchi,
	linux-kernel, linux-mm, Wanpeng Li

Use wrapper function task_faults_idx to calculate index in group_faults.

Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 kernel/sched/fair.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index c3f6ff9..8a00879 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -935,7 +935,8 @@ static inline unsigned long group_faults(struct task_struct *p, int nid)
 	if (!p->numa_group)
 		return 0;
 
-	return p->numa_group->faults[2*nid] + p->numa_group->faults[2*nid+1];
+	return p->numa_group->faults[task_faults_idx(nid, 0)] +
+		p->numa_group->faults[task_faults_idx(nid, 1)];
 }
 
 /*
-- 
1.7.7.6

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* [PATCH v8 4/4] sched/numa: fix period_slot recalculation
  2013-12-12  7:23 [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 2/4] sched/numa: use wrapper function task_node to get node which task is on Wanpeng Li
  2013-12-12  7:23 ` [PATCH v8 3/4] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults Wanpeng Li
@ 2013-12-12  7:23 ` Wanpeng Li
  2013-12-13 18:09 ` [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Peter Zijlstra
  3 siblings, 0 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-12  7:23 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Andrew Morton, Rik van Riel, Mel Gorman, Naoya Horiguchi,
	linux-kernel, linux-mm, Wanpeng Li

Changelog:
 v3 -> v4:
  * remove period_slot recalculation

The original code is as intended and was meant to scale the difference
between the NUMA_PERIOD_THRESHOLD and local/remote ratio when adjusting
the scan period. The period_slot recalculation can be dropped.

Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 kernel/sched/fair.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 8a00879..e7ca79a 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1356,7 +1356,6 @@ static void update_task_scan_period(struct task_struct *p,
 		 * scanning faster if shared accesses dominate as it may
 		 * simply bounce migrations uselessly
 		 */
-		period_slot = DIV_ROUND_UP(diff, NUMA_PERIOD_SLOTS);
 		ratio = DIV_ROUND_UP(private * NUMA_PERIOD_SLOTS, (private + shared));
 		diff = (diff * ratio) / NUMA_PERIOD_SLOTS;
 	}
-- 
1.7.7.6

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  2013-12-12  7:23 [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
                   ` (2 preceding siblings ...)
  2013-12-12  7:23 ` [PATCH v8 4/4] sched/numa: fix period_slot recalculation Wanpeng Li
@ 2013-12-13 18:09 ` Peter Zijlstra
  2013-12-15  8:41   ` Wanpeng Li
       [not found]   ` <20131215084110.GA4316@hacker.(null)>
  3 siblings, 2 replies; 8+ messages in thread
From: Peter Zijlstra @ 2013-12-13 18:09 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: Ingo Molnar, Andrew Morton, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Thu, Dec 12, 2013 at 03:23:23PM +0800, Wanpeng Li wrote:
> Changelog:
>  v7 -> v8:
>   * remove references to it in Documentation/sysctl/kernel.txt 

Please do not put such bits in the changelog proper, but put them below
the --- line, that way they disappear automagically.

Applied all 4, thanks!

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  2013-12-13 18:09 ` [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Peter Zijlstra
@ 2013-12-15  8:41   ` Wanpeng Li
       [not found]   ` <20131215084110.GA4316@hacker.(null)>
  1 sibling, 0 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-15  8:41 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Ingo Molnar, Andrew Morton, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

Hi Peter,
On Fri, Dec 13, 2013 at 07:09:33PM +0100, Peter Zijlstra wrote:
>On Thu, Dec 12, 2013 at 03:23:23PM +0800, Wanpeng Li wrote:
>> Changelog:
>>  v7 -> v8:
>>   * remove references to it in Documentation/sysctl/kernel.txt 
>
>Please do not put such bits in the changelog proper, but put them below
>the --- line, that way they disappear automagically.
>

Do you mean something like: 

commit 887c290e (sched/numa: Decide whether to favour task or group
weights
based on swap candidate relationships) drop the check against
sysctl_numa_balancing_settle_count, this patch remove the sysctl.

Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
Changelog:
 v7 -> v8:
   * remove references to it in Documentation/sysctl/kernel.txt
---
Documentation/sysctl/kernel.txt |    5 -----
include/linux/sched/sysctl.h    |    1 -
kernel/sched/fair.c             |    9 ---------
kernel/sysctl.c                 |    7 -------
4 files changed, 0 insertions(+), 22 deletions(-)

>Applied all 4, thanks!

Thanks. ;-)

Regards,
Wanpeng Li 


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
       [not found]   ` <20131215084110.GA4316@hacker.(null)>
@ 2013-12-15 16:56     ` Peter Zijlstra
  2013-12-15 23:58       ` Wanpeng Li
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Zijlstra @ 2013-12-15 16:56 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: Ingo Molnar, Andrew Morton, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Sun, Dec 15, 2013 at 04:41:10PM +0800, Wanpeng Li wrote:
> Do you mean something like: 
> 
> commit 887c290e (sched/numa: Decide whether to favour task or group
> weights
> based on swap candidate relationships) drop the check against
> sysctl_numa_balancing_settle_count, this patch remove the sysctl.
> 
> Acked-by: Mel Gorman <mgorman@suse.de>
> Reviewed-by: Rik van Riel <riel@redhat.com>
> Acked-by: David Rientjes <rientjes@google.com>
> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
> ---
> Changelog:
>  v7 -> v8:
>    * remove references to it in Documentation/sysctl/kernel.txt
> ---

No need to insert another --- line, just the one below the SoB,

> Documentation/sysctl/kernel.txt |    5 -----
> include/linux/sched/sysctl.h    |    1 -
> kernel/sched/fair.c             |    9 ---------
> kernel/sysctl.c                 |    7 -------
> 4 files changed, 0 insertions(+), 22 deletions(-)

Everything between --- and the patch proper (usually started with an
Index line or other diff syntax thingy), including this diffstat you
have, will be made to disappear.

But yes indeed. The Changelog should describe the patch as is, and the
differences between this and the previous version are relevant only to
the reviewer who saw the previous version too. But once we commit the
patch, the previous version ceases to exist (in the commit history) and
therefore such comments loose their intrinsic meaning and should go away
too.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  2013-12-15 16:56     ` Peter Zijlstra
@ 2013-12-15 23:58       ` Wanpeng Li
  0 siblings, 0 replies; 8+ messages in thread
From: Wanpeng Li @ 2013-12-15 23:58 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Ingo Molnar, Andrew Morton, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Sun, Dec 15, 2013 at 05:56:43PM +0100, Peter Zijlstra wrote:
>On Sun, Dec 15, 2013 at 04:41:10PM +0800, Wanpeng Li wrote:
>> Do you mean something like: 
>> 
>> commit 887c290e (sched/numa: Decide whether to favour task or group
>> weights
>> based on swap candidate relationships) drop the check against
>> sysctl_numa_balancing_settle_count, this patch remove the sysctl.
>> 
>> Acked-by: Mel Gorman <mgorman@suse.de>
>> Reviewed-by: Rik van Riel <riel@redhat.com>
>> Acked-by: David Rientjes <rientjes@google.com>
>> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
>> ---
>> Changelog:
>>  v7 -> v8:
>>    * remove references to it in Documentation/sysctl/kernel.txt
>> ---
>
>No need to insert another --- line, just the one below the SoB,
>
>> Documentation/sysctl/kernel.txt |    5 -----
>> include/linux/sched/sysctl.h    |    1 -
>> kernel/sched/fair.c             |    9 ---------
>> kernel/sysctl.c                 |    7 -------
>> 4 files changed, 0 insertions(+), 22 deletions(-)
>
>Everything between --- and the patch proper (usually started with an
>Index line or other diff syntax thingy), including this diffstat you
>have, will be made to disappear.
>
>But yes indeed. The Changelog should describe the patch as is, and the
>differences between this and the previous version are relevant only to
>the reviewer who saw the previous version too. But once we commit the
>patch, the previous version ceases to exist (in the commit history) and
>therefore such comments loose their intrinsic meaning and should go away
>too.

Thanks for your great explanation. ;-)

Regards,
Wanpeng Li 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2013-12-15 23:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-12  7:23 [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
2013-12-12  7:23 ` [PATCH v8 2/4] sched/numa: use wrapper function task_node to get node which task is on Wanpeng Li
2013-12-12  7:23 ` [PATCH v8 3/4] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults Wanpeng Li
2013-12-12  7:23 ` [PATCH v8 4/4] sched/numa: fix period_slot recalculation Wanpeng Li
2013-12-13 18:09 ` [PATCH v8 1/4] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Peter Zijlstra
2013-12-15  8:41   ` Wanpeng Li
     [not found]   ` <20131215084110.GA4316@hacker.(null)>
2013-12-15 16:56     ` Peter Zijlstra
2013-12-15 23:58       ` Wanpeng Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).