All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/6] mm: sched: numa: several fixups
@ 2013-12-11 10:15 ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

Hi Andrew,

I rebase this patchset against latest mmotm tree since Mel's [PATCH 00/17]
NUMA balancing segmentation fault fixes and misc followups v4 merged. Several
patches are dropped in my v6 since one is merged in tip tree and other three
patches conflict with Mel's series. I have already picked up everybody's Acked-by
or Reviewed-by in v6 and hopefully they can be merged soon. ;-)

Wanpeng Li (6):
  sched/numa: fix set cpupid on page migration twice against thp
  sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  sched/numa: use wrapper function task_node to get node which task is on
  sched/numa: fix set cpupid on page migration twice against normal page
  sched/numa: use wrapper function task_faults_idx to calculate index in group_faults
  sched/numa: fix period_slot recalculation

 include/linux/sched/sysctl.h |    1 -
 kernel/sched/debug.c         |    2 +-
 kernel/sched/fair.c          |   17 ++++-------------
 kernel/sysctl.c              |    7 -------
 mm/migrate.c                 |    4 ----
 5 files changed, 5 insertions(+), 26 deletions(-)

-- 
1.7.5.4


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

* [PATCH v6 0/6] mm: sched: numa: several fixups
@ 2013-12-11 10:15 ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

Hi Andrew,

I rebase this patchset against latest mmotm tree since Mel's [PATCH 00/17]
NUMA balancing segmentation fault fixes and misc followups v4 merged. Several
patches are dropped in my v6 since one is merged in tip tree and other three
patches conflict with Mel's series. I have already picked up everybody's Acked-by
or Reviewed-by in v6 and hopefully they can be merged soon. ;-)

Wanpeng Li (6):
  sched/numa: fix set cpupid on page migration twice against thp
  sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  sched/numa: use wrapper function task_node to get node which task is on
  sched/numa: fix set cpupid on page migration twice against normal page
  sched/numa: use wrapper function task_faults_idx to calculate index in group_faults
  sched/numa: fix period_slot recalculation

 include/linux/sched/sysctl.h |    1 -
 kernel/sched/debug.c         |    2 +-
 kernel/sched/fair.c          |   17 ++++-------------
 kernel/sysctl.c              |    7 -------
 mm/migrate.c                 |    4 ----
 5 files changed, 5 insertions(+), 26 deletions(-)

-- 
1.7.5.4

--
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] 18+ messages in thread

* [PATCH v6 1/6] sched/numa: fix set cpupid on page migration twice against thp
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:15   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

commit 7851a45cd3 (mm: numa: Copy cpupid on page migration) copy over
the cpupid at page migration time, there is unnecessary to set it again
in function migrate_misplaced_transhuge_page, this patch fix it.

Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 mm/migrate.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/mm/migrate.c b/mm/migrate.c
index bb94004..fdb70f7 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1736,8 +1736,6 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
 	if (!new_page)
 		goto out_fail;
 
-	page_cpupid_xchg_last(new_page, page_cpupid_last(page));
-
 	isolated = numamigrate_isolate_page(pgdat, page);
 	if (!isolated) {
 		put_page(new_page);
-- 
1.7.5.4


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

* [PATCH v6 1/6] sched/numa: fix set cpupid on page migration twice against thp
@ 2013-12-11 10:15   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

commit 7851a45cd3 (mm: numa: Copy cpupid on page migration) copy over
the cpupid at page migration time, there is unnecessary to set it again
in function migrate_misplaced_transhuge_page, this patch fix it.

Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 mm/migrate.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/mm/migrate.c b/mm/migrate.c
index bb94004..fdb70f7 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1736,8 +1736,6 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
 	if (!new_page)
 		goto out_fail;
 
-	page_cpupid_xchg_last(new_page, page_cpupid_last(page));
-
 	isolated = numamigrate_isolate_page(pgdat, page);
 	if (!isolated) {
 		put_page(new_page);
-- 
1.7.5.4

--
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] 18+ messages in thread

* [PATCH v6 2/6] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:15   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

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>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 include/linux/sched/sysctl.h |    1 -
 kernel/sched/fair.c          |    9 ---------
 kernel/sysctl.c              |    7 -------
 3 files changed, 0 insertions(+), 17 deletions(-)

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.5.4


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

* [PATCH v6 2/6] sched/numa: drop sysctl_numa_balancing_settle_count sysctl
@ 2013-12-11 10:15   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

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>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
---
 include/linux/sched/sysctl.h |    1 -
 kernel/sched/fair.c          |    9 ---------
 kernel/sysctl.c              |    7 -------
 3 files changed, 0 insertions(+), 17 deletions(-)

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.5.4

--
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] 18+ messages in thread

* [PATCH v6 3/6] sched/numa: use wrapper function task_node to get node which task is on
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:15   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4


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

* [PATCH v6 3/6] sched/numa: use wrapper function task_node to get node which task is on
@ 2013-12-11 10:15   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4

--
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] 18+ messages in thread

* [PATCH v6 4/6] sched/numa: fix set cpupid on page migration twice against normal page
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:15   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

commit 7851a45cd3 (mm: numa: Copy cpupid on page migration) copy over
the cpupid at page migration time, there is unnecessary to set it again
in function alloc_misplaced_dst_page, this patch fix it.

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

diff --git a/mm/migrate.c b/mm/migrate.c
index fdb70f7..d4228c6 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1557,8 +1557,6 @@ static struct page *alloc_misplaced_dst_page(struct page *page,
 					  __GFP_NOMEMALLOC | __GFP_NORETRY |
 					  __GFP_NOWARN) &
 					 ~GFP_IOFS, 0);
-	if (newpage)
-		page_cpupid_xchg_last(newpage, page_cpupid_last(page));
 
 	return newpage;
 }
-- 
1.7.5.4


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

* [PATCH v6 4/6] sched/numa: fix set cpupid on page migration twice against normal page
@ 2013-12-11 10:15   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	Naoya Horiguchi, linux-kernel, linux-mm, Wanpeng Li

commit 7851a45cd3 (mm: numa: Copy cpupid on page migration) copy over
the cpupid at page migration time, there is unnecessary to set it again
in function alloc_misplaced_dst_page, this patch fix it.

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

diff --git a/mm/migrate.c b/mm/migrate.c
index fdb70f7..d4228c6 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1557,8 +1557,6 @@ static struct page *alloc_misplaced_dst_page(struct page *page,
 					  __GFP_NOMEMALLOC | __GFP_NORETRY |
 					  __GFP_NOWARN) &
 					 ~GFP_IOFS, 0);
-	if (newpage)
-		page_cpupid_xchg_last(newpage, page_cpupid_last(page));
 
 	return newpage;
 }
-- 
1.7.5.4

--
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] 18+ messages in thread

* [PATCH v6 5/6] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:16   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4


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

* [PATCH v6 5/6] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults
@ 2013-12-11 10:16   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4

--
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] 18+ messages in thread

* [PATCH v6 6/6] sched/numa: fix period_slot recalculation
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:16   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4


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

* [PATCH v6 6/6] sched/numa: fix period_slot recalculation
@ 2013-12-11 10:16   ` Wanpeng Li
  0 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, Rik van Riel, Mel Gorman, Peter Zijlstra,
	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>
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.5.4

--
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] 18+ messages in thread

* Re: [PATCH v6 0/6] mm: sched: numa: several fixups
  2013-12-11 10:15 ` Wanpeng Li
@ 2013-12-11 10:24   ` Peter Zijlstra
  -1 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2013-12-11 10:24 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: Andrew Morton, Ingo Molnar, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Wed, Dec 11, 2013 at 06:15:55PM +0800, Wanpeng Li wrote:
> Hi Andrew,

You'll find kernel/sched/ has a maintainer !Andrew.

>  include/linux/sched/sysctl.h |    1 -
>  kernel/sched/debug.c         |    2 +-
>  kernel/sched/fair.c          |   17 ++++-------------
>  kernel/sysctl.c              |    7 -------
>  mm/migrate.c                 |    4 ----
>  5 files changed, 5 insertions(+), 26 deletions(-)

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

* Re: [PATCH v6 0/6] mm: sched: numa: several fixups
@ 2013-12-11 10:24   ` Peter Zijlstra
  0 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2013-12-11 10:24 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: Andrew Morton, Ingo Molnar, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Wed, Dec 11, 2013 at 06:15:55PM +0800, Wanpeng Li wrote:
> Hi Andrew,

You'll find kernel/sched/ has a maintainer !Andrew.

>  include/linux/sched/sysctl.h |    1 -
>  kernel/sched/debug.c         |    2 +-
>  kernel/sched/fair.c          |   17 ++++-------------
>  kernel/sysctl.c              |    7 -------
>  mm/migrate.c                 |    4 ----
>  5 files changed, 5 insertions(+), 26 deletions(-)

--
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] 18+ messages in thread

* Re: [PATCH v6 0/6] mm: sched: numa: several fixups
  2013-12-11 10:24   ` Peter Zijlstra
  (?)
@ 2013-12-11 10:28   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-11 10:28 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Andrew Morton, Ingo Molnar, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

On Wed, Dec 11, 2013 at 11:24:08AM +0100, Peter Zijlstra wrote:
>On Wed, Dec 11, 2013 at 06:15:55PM +0800, Wanpeng Li wrote:
>> Hi Andrew,
>
>You'll find kernel/sched/ has a maintainer !Andrew.
>

Ah, ok. ;-)

>>  include/linux/sched/sysctl.h |    1 -
>>  kernel/sched/debug.c         |    2 +-
>>  kernel/sched/fair.c          |   17 ++++-------------
>>  kernel/sysctl.c              |    7 -------
>>  mm/migrate.c                 |    4 ----
>>  5 files changed, 5 insertions(+), 26 deletions(-)

--
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] 18+ messages in thread

* Re: [PATCH v6 0/6] mm: sched: numa: several fixups
  2013-12-11 10:24   ` Peter Zijlstra
  (?)
  (?)
@ 2013-12-12  0:14   ` Wanpeng Li
  -1 siblings, 0 replies; 18+ messages in thread
From: Wanpeng Li @ 2013-12-12  0:14 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Andrew Morton, Ingo Molnar, Rik van Riel, Mel Gorman,
	Naoya Horiguchi, linux-kernel, linux-mm

Hi Peter,
On Wed, Dec 11, 2013 at 11:24:08AM +0100, Peter Zijlstra wrote:
>On Wed, Dec 11, 2013 at 06:15:55PM +0800, Wanpeng Li wrote:
>> Hi Andrew,
>
>You'll find kernel/sched/ has a maintainer !Andrew.
>

I send out sched part to Ingo and you since Andrew has already pick up the
mm part. ;-)

Regards,
Wanpeng Li 

>>  include/linux/sched/sysctl.h |    1 -
>>  kernel/sched/debug.c         |    2 +-
>>  kernel/sched/fair.c          |   17 ++++-------------
>>  kernel/sysctl.c              |    7 -------
>>  mm/migrate.c                 |    4 ----
>>  5 files changed, 5 insertions(+), 26 deletions(-)

--
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] 18+ messages in thread

end of thread, other threads:[~2013-12-12  0:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-11 10:15 [PATCH v6 0/6] mm: sched: numa: several fixups Wanpeng Li
2013-12-11 10:15 ` Wanpeng Li
2013-12-11 10:15 ` [PATCH v6 1/6] sched/numa: fix set cpupid on page migration twice against thp Wanpeng Li
2013-12-11 10:15   ` Wanpeng Li
2013-12-11 10:15 ` [PATCH v6 2/6] sched/numa: drop sysctl_numa_balancing_settle_count sysctl Wanpeng Li
2013-12-11 10:15   ` Wanpeng Li
2013-12-11 10:15 ` [PATCH v6 3/6] sched/numa: use wrapper function task_node to get node which task is on Wanpeng Li
2013-12-11 10:15   ` Wanpeng Li
2013-12-11 10:15 ` [PATCH v6 4/6] sched/numa: fix set cpupid on page migration twice against normal page Wanpeng Li
2013-12-11 10:15   ` Wanpeng Li
2013-12-11 10:16 ` [PATCH v6 5/6] sched/numa: use wrapper function task_faults_idx to calculate index in group_faults Wanpeng Li
2013-12-11 10:16   ` Wanpeng Li
2013-12-11 10:16 ` [PATCH v6 6/6] sched/numa: fix period_slot recalculation Wanpeng Li
2013-12-11 10:16   ` Wanpeng Li
2013-12-11 10:24 ` [PATCH v6 0/6] mm: sched: numa: several fixups Peter Zijlstra
2013-12-11 10:24   ` Peter Zijlstra
2013-12-11 10:28   ` Wanpeng Li
2013-12-12  0:14   ` Wanpeng Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.