* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
[not found] ` <164512421264.16921.689831789198253265.tip-bot2@tip-bot2>
@ 2022-03-01 20:54 ` Qian Cai
2022-03-02 0:59 ` Huang, Ying
0 siblings, 1 reply; 6+ messages in thread
From: Qian Cai @ 2022-03-01 20:54 UTC (permalink / raw)
To: linux-kernel
Cc: linux-tip-commits, Huang, Ying, Peter Zijlstra (Intel),
x86, linux-arm-kernel
On Thu, Feb 17, 2022 at 06:56:52PM -0000, tip-bot2 for Huang Ying wrote:
> The following commit has been merged into the sched/core branch of tip:
>
> Commit-ID: 5c7b1aaf139dab5072311853bacc40fc3457d1f9
> Gitweb: https://git.kernel.org/tip/5c7b1aaf139dab5072311853bacc40fc3457d1f9
> Author: Huang Ying <ying.huang@intel.com>
> AuthorDate: Mon, 14 Feb 2022 20:15:53 +08:00
> Committer: Peter Zijlstra <peterz@infradead.org>
> CommitterDate: Wed, 16 Feb 2022 15:57:53 +01:00
>
> sched/numa: Avoid migrating task to CPU-less node
>
> In a typical memory tiering system, there's no CPU in slow (PMEM) NUMA
> nodes. But if the number of the hint page faults on a PMEM node is
> the max for a task, The current NUMA balancing policy may try to place
> the task on the PMEM node instead of DRAM node. This is unreasonable,
> because there's no CPU in PMEM NUMA nodes. To fix this, CPU-less
> nodes are ignored when searching the migration target node for a task
> in this patch.
>
> To test the patch, we run a workload that accesses more memory in PMEM
> node than memory in DRAM node. Without the patch, the PMEM node will
> be chosen as preferred node in task_numa_placement(). While the DRAM
> node will be chosen instead with the patch.
>
> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Link: https://lkml.kernel.org/r/20220214121553.582248-2-ying.huang@intel.com
Reverting this commit on the top of today's linux-next fixed a boot crash
on arm64 NUMA systems.
Unable to handle kernel paging request at virtual address ffff7a6601694aec
KASAN: maybe wild-memory-access in range [0xffffd3300b4a5760-0xffffd3300b4a5767]
Mem abort info:
ESR = 0x96000005
EC = 0x25: DABT (current EL), IL = 32 bits
mlx5_core 0007:02:00.0: enabling device (0100 -> 0102)
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x05: level 1 translation fault
Data abort info:
ISV = 0, ISS = 0x00000005
CM = 0, WnR = 0
swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000400b3d6c6000
[ffff7a6601694aec] pgd=0000403fc007f003, p4d=0000403fc007f003, pud=0000000000000000
Internal error: Oops: 96000005 [#1] PREEMPT SMP
Modules linked in: nouveau(+) drm_ttm_helper ttm nvme(+) drm_dp_helper drm_kms_helper mlx5_core(+) mpt3sas(+) xhci_pci(+) nvme_core raid_class xhci_pci_renesas drm
CPU: 85 PID: 1308 Comm: udevadm Not tainted 5.17.0-rc6-next-20220301 #1
pstate: 40400009 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : task_numa_placement
lr : task_numa_placement
sp : ffff800031047760
x29: ffff800031047760 x28: ffff3fffab916c00 x27: 0000000000000020
x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000000
x23: ffff07ffe5289a80 x22: ffffd3300b4a5760 x21: 000000000000003f
x20: ffffd32feb4a5768 x19: 0000000000000000 x18: ffff07ffe528ad88
x17: ffffd32fe5693a1c x16: 0000000000000000 x15: ffff8000310478e0
x14: ffff07ffe528ad90 x13: 0000000000000002 x12: dfff80000000000d
x11: 0000000000000001 x10: 000000000000b6be x9 : 0000000000000000
x8 : 00000000ffffffff x7 : ffffd32feb4a5780 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000000 x3 : 1ffffa6601694aec
x2 : 0000000000000000 x1 : dfff800000000000 x0 : 000000001ffffff8
Call trace:
task_numa_placement
arch_test_bit at include/asm-generic/bitops/non-atomic.h:118
(inlined by) node_state at include/linux/nodemask.h:416
(inlined by) task_numa_placement at kernel/sched/fair.c:2439
task_numa_fault
do_numa_page
handle_pte_fault
__handle_mm_fault
handle_mm_fault
do_page_fault
do_translation_fault
do_mem_abort
el0_da
el0t_64_sync_handler
el0t_64_sync
Code: 8b000296 d2d00001 f2fbffe1 d343fec3 (38e16861)
---[ end trace 0000000000000000 ]---
Kernel panic - not syncing: Oops: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: 0x532fdcf70000 from 0xffff800008000000
PHYS_OFFSET: 0x80000000
CPU features: 0x00,00042c0c,19801c82
Memory Limit: none
---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
> ---
> kernel/sched/fair.c | 25 ++++++++++++++++++++-----
> 1 file changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index da3230b..11a72e1 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -1989,7 +1989,7 @@ static int task_numa_migrate(struct task_struct *p)
> */
> ng = deref_curr_numa_group(p);
> if (env.best_cpu == -1 || (ng && ng->active_nodes > 1)) {
> - for_each_online_node(nid) {
> + for_each_node_state(nid, N_CPU) {
> if (nid == env.src_nid || nid == p->numa_preferred_nid)
> continue;
>
> @@ -2087,13 +2087,13 @@ static void numa_group_count_active_nodes(struct numa_group *numa_group)
> unsigned long faults, max_faults = 0;
> int nid, active_nodes = 0;
>
> - for_each_online_node(nid) {
> + for_each_node_state(nid, N_CPU) {
> faults = group_faults_cpu(numa_group, nid);
> if (faults > max_faults)
> max_faults = faults;
> }
>
> - for_each_online_node(nid) {
> + for_each_node_state(nid, N_CPU) {
> faults = group_faults_cpu(numa_group, nid);
> if (faults * ACTIVE_NODE_FRACTION > max_faults)
> active_nodes++;
> @@ -2247,7 +2247,7 @@ static int preferred_group_nid(struct task_struct *p, int nid)
>
> dist = sched_max_numa_distance;
>
> - for_each_online_node(node) {
> + for_each_node_state(node, N_CPU) {
> score = group_weight(p, node, dist);
> if (score > max_score) {
> max_score = score;
> @@ -2266,7 +2266,7 @@ static int preferred_group_nid(struct task_struct *p, int nid)
> * inside the highest scoring group of nodes. The nodemask tricks
> * keep the complexity of the search down.
> */
> - nodes = node_online_map;
> + nodes = node_states[N_CPU];
> for (dist = sched_max_numa_distance; dist > LOCAL_DISTANCE; dist--) {
> unsigned long max_faults = 0;
> nodemask_t max_group = NODE_MASK_NONE;
> @@ -2405,6 +2405,21 @@ static void task_numa_placement(struct task_struct *p)
> }
> }
>
> + /* Cannot migrate task to CPU-less node */
> + if (!node_state(max_nid, N_CPU)) {
> + int near_nid = max_nid;
> + int distance, near_distance = INT_MAX;
> +
> + for_each_node_state(nid, N_CPU) {
> + distance = node_distance(max_nid, nid);
> + if (distance < near_distance) {
> + near_nid = nid;
> + near_distance = distance;
> + }
> + }
> + max_nid = near_nid;
> + }
> +
> if (ng) {
> numa_group_count_active_nodes(ng);
> spin_unlock_irq(group_lock);
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
2022-03-01 20:54 ` [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node Qian Cai
@ 2022-03-02 0:59 ` Huang, Ying
2022-03-02 12:37 ` Qian Cai
2022-03-07 5:51 ` Huang, Ying
0 siblings, 2 replies; 6+ messages in thread
From: Huang, Ying @ 2022-03-02 0:59 UTC (permalink / raw)
To: Qian Cai
Cc: linux-kernel, linux-tip-commits, Peter Zijlstra (Intel),
x86, linux-arm-kernel
Qian Cai <quic_qiancai@quicinc.com> writes:
> On Thu, Feb 17, 2022 at 06:56:52PM -0000, tip-bot2 for Huang Ying wrote:
>> The following commit has been merged into the sched/core branch of tip:
>>
>> Commit-ID: 5c7b1aaf139dab5072311853bacc40fc3457d1f9
>> Gitweb: https://git.kernel.org/tip/5c7b1aaf139dab5072311853bacc40fc3457d1f9
>> Author: Huang Ying <ying.huang@intel.com>
>> AuthorDate: Mon, 14 Feb 2022 20:15:53 +08:00
>> Committer: Peter Zijlstra <peterz@infradead.org>
>> CommitterDate: Wed, 16 Feb 2022 15:57:53 +01:00
>>
>> sched/numa: Avoid migrating task to CPU-less node
>>
>> In a typical memory tiering system, there's no CPU in slow (PMEM) NUMA
>> nodes. But if the number of the hint page faults on a PMEM node is
>> the max for a task, The current NUMA balancing policy may try to place
>> the task on the PMEM node instead of DRAM node. This is unreasonable,
>> because there's no CPU in PMEM NUMA nodes. To fix this, CPU-less
>> nodes are ignored when searching the migration target node for a task
>> in this patch.
>>
>> To test the patch, we run a workload that accesses more memory in PMEM
>> node than memory in DRAM node. Without the patch, the PMEM node will
>> be chosen as preferred node in task_numa_placement(). While the DRAM
>> node will be chosen instead with the patch.
>>
>> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
>> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>> Link: https://lkml.kernel.org/r/20220214121553.582248-2-ying.huang@intel.com
>
> Reverting this commit on the top of today's linux-next fixed a boot crash
> on arm64 NUMA systems.
>
> Unable to handle kernel paging request at virtual address ffff7a6601694aec
> KASAN: maybe wild-memory-access in range [0xffffd3300b4a5760-0xffffd3300b4a5767]
> Mem abort info:
> ESR = 0x96000005
> EC = 0x25: DABT (current EL), IL = 32 bits
> mlx5_core 0007:02:00.0: enabling device (0100 -> 0102)
> SET = 0, FnV = 0
> EA = 0, S1PTW = 0
> FSC = 0x05: level 1 translation fault
> Data abort info:
> ISV = 0, ISS = 0x00000005
> CM = 0, WnR = 0
> swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000400b3d6c6000
> [ffff7a6601694aec] pgd=0000403fc007f003, p4d=0000403fc007f003, pud=0000000000000000
> Internal error: Oops: 96000005 [#1] PREEMPT SMP
> Modules linked in: nouveau(+) drm_ttm_helper ttm nvme(+) drm_dp_helper drm_kms_helper mlx5_core(+) mpt3sas(+) xhci_pci(+) nvme_core raid_class xhci_pci_renesas drm
> CPU: 85 PID: 1308 Comm: udevadm Not tainted 5.17.0-rc6-next-20220301 #1
> pstate: 40400009 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : task_numa_placement
> lr : task_numa_placement
> sp : ffff800031047760
> x29: ffff800031047760 x28: ffff3fffab916c00 x27: 0000000000000020
> x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000000
>
> x23: ffff07ffe5289a80 x22: ffffd3300b4a5760 x21: 000000000000003f
> x20: ffffd32feb4a5768 x19: 0000000000000000 x18: ffff07ffe528ad88
> x17: ffffd32fe5693a1c x16: 0000000000000000 x15: ffff8000310478e0
>
> x14: ffff07ffe528ad90 x13: 0000000000000002 x12: dfff80000000000d
> x11: 0000000000000001 x10: 000000000000b6be x9 : 0000000000000000
> x8 : 00000000ffffffff x7 : ffffd32feb4a5780 x6 : 0000000000000000
> x5 : 0000000000000000 x4 : 0000000000000000 x3 : 1ffffa6601694aec
> x2 : 0000000000000000 x1 : dfff800000000000 x0 : 000000001ffffff8
> Call trace:
> task_numa_placement
> arch_test_bit at include/asm-generic/bitops/non-atomic.h:118
> (inlined by) node_state at include/linux/nodemask.h:416
> (inlined by) task_numa_placement at kernel/sched/fair.c:2439
> task_numa_fault
> do_numa_page
> handle_pte_fault
> __handle_mm_fault
> handle_mm_fault
> do_page_fault
> do_translation_fault
> do_mem_abort
> el0_da
> el0t_64_sync_handler
> el0t_64_sync
> Code: 8b000296 d2d00001 f2fbffe1 d343fec3 (38e16861)
> ---[ end trace 0000000000000000 ]---
> Kernel panic - not syncing: Oops: Fatal exception
> SMP: stopping secondary CPUs
> Kernel Offset: 0x532fdcf70000 from 0xffff800008000000
> PHYS_OFFSET: 0x80000000
> CPU features: 0x00,00042c0c,19801c82
> Memory Limit: none
> ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
Thanks for reporting! Can you try whether the following debug patch can fix the issue?
Best Regards,
Huang, Ying
----------------------------8<-------------------------------------------
From 176d185426730111e763eb386d0210561f021dbc Mon Sep 17 00:00:00 2001
From: Huang Ying <ying.huang@intel.com>
Date: Wed, 2 Mar 2022 08:54:01 +0800
Subject: [PATCH] dbg KASAN error
---
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index a3f0ea216ccb..1fe7a4510cca 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2405,7 +2405,7 @@ static void task_numa_placement(struct task_struct *p)
}
/* Cannot migrate task to CPU-less node */
- if (!node_state(max_nid, N_CPU)) {
+ if (max_nid != NUMA_NO_NODE && !node_state(max_nid, N_CPU)) {
int near_nid = max_nid;
int distance, near_distance = INT_MAX;
--
2.30.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
2022-03-02 0:59 ` Huang, Ying
@ 2022-03-02 12:37 ` Qian Cai
2022-03-07 5:51 ` Huang, Ying
1 sibling, 0 replies; 6+ messages in thread
From: Qian Cai @ 2022-03-02 12:37 UTC (permalink / raw)
To: Huang, Ying
Cc: linux-kernel, linux-tip-commits, Peter Zijlstra (Intel),
x86, linux-arm-kernel
On Wed, Mar 02, 2022 at 08:59:55AM +0800, Huang, Ying wrote:
> Thanks for reporting! Can you try whether the following debug patch can fix the issue?
Yes, it prevents the crash.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
2022-03-02 0:59 ` Huang, Ying
2022-03-02 12:37 ` Qian Cai
@ 2022-03-07 5:51 ` Huang, Ying
2022-03-07 13:53 ` Qian Cai
1 sibling, 1 reply; 6+ messages in thread
From: Huang, Ying @ 2022-03-07 5:51 UTC (permalink / raw)
To: Qian Cai
Cc: linux-kernel, linux-tip-commits, Peter Zijlstra (Intel),
x86, linux-arm-kernel
Hi, Qian,
"Huang, Ying" <ying.huang@intel.com> writes:
> Qian Cai <quic_qiancai@quicinc.com> writes:
>
>> On Thu, Feb 17, 2022 at 06:56:52PM -0000, tip-bot2 for Huang Ying wrote:
>>> The following commit has been merged into the sched/core branch of tip:
>>>
>>> Commit-ID: 5c7b1aaf139dab5072311853bacc40fc3457d1f9
>>> Gitweb: https://git.kernel.org/tip/5c7b1aaf139dab5072311853bacc40fc3457d1f9
>>> Author: Huang Ying <ying.huang@intel.com>
>>> AuthorDate: Mon, 14 Feb 2022 20:15:53 +08:00
>>> Committer: Peter Zijlstra <peterz@infradead.org>
>>> CommitterDate: Wed, 16 Feb 2022 15:57:53 +01:00
>>>
>>> sched/numa: Avoid migrating task to CPU-less node
>>>
>>> In a typical memory tiering system, there's no CPU in slow (PMEM) NUMA
>>> nodes. But if the number of the hint page faults on a PMEM node is
>>> the max for a task, The current NUMA balancing policy may try to place
>>> the task on the PMEM node instead of DRAM node. This is unreasonable,
>>> because there's no CPU in PMEM NUMA nodes. To fix this, CPU-less
>>> nodes are ignored when searching the migration target node for a task
>>> in this patch.
>>>
>>> To test the patch, we run a workload that accesses more memory in PMEM
>>> node than memory in DRAM node. Without the patch, the PMEM node will
>>> be chosen as preferred node in task_numa_placement(). While the DRAM
>>> node will be chosen instead with the patch.
>>>
>>> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
>>> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>>> Link: https://lkml.kernel.org/r/20220214121553.582248-2-ying.huang@intel.com
>>
>> Reverting this commit on the top of today's linux-next fixed a boot crash
>> on arm64 NUMA systems.
>>
>> Unable to handle kernel paging request at virtual address ffff7a6601694aec
>> KASAN: maybe wild-memory-access in range [0xffffd3300b4a5760-0xffffd3300b4a5767]
>> Mem abort info:
>> ESR = 0x96000005
>> EC = 0x25: DABT (current EL), IL = 32 bits
>> mlx5_core 0007:02:00.0: enabling device (0100 -> 0102)
>> SET = 0, FnV = 0
>> EA = 0, S1PTW = 0
>> FSC = 0x05: level 1 translation fault
>> Data abort info:
>> ISV = 0, ISS = 0x00000005
>> CM = 0, WnR = 0
>> swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000400b3d6c6000
>> [ffff7a6601694aec] pgd=0000403fc007f003, p4d=0000403fc007f003, pud=0000000000000000
>> Internal error: Oops: 96000005 [#1] PREEMPT SMP
>> Modules linked in: nouveau(+) drm_ttm_helper ttm nvme(+) drm_dp_helper drm_kms_helper mlx5_core(+) mpt3sas(+) xhci_pci(+) nvme_core raid_class xhci_pci_renesas drm
>> CPU: 85 PID: 1308 Comm: udevadm Not tainted 5.17.0-rc6-next-20220301 #1
>> pstate: 40400009 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
>> pc : task_numa_placement
>> lr : task_numa_placement
>> sp : ffff800031047760
>> x29: ffff800031047760 x28: ffff3fffab916c00 x27: 0000000000000020
>> x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000000
>>
>> x23: ffff07ffe5289a80 x22: ffffd3300b4a5760 x21: 000000000000003f
>> x20: ffffd32feb4a5768 x19: 0000000000000000 x18: ffff07ffe528ad88
>> x17: ffffd32fe5693a1c x16: 0000000000000000 x15: ffff8000310478e0
>>
>> x14: ffff07ffe528ad90 x13: 0000000000000002 x12: dfff80000000000d
>> x11: 0000000000000001 x10: 000000000000b6be x9 : 0000000000000000
>> x8 : 00000000ffffffff x7 : ffffd32feb4a5780 x6 : 0000000000000000
>> x5 : 0000000000000000 x4 : 0000000000000000 x3 : 1ffffa6601694aec
>> x2 : 0000000000000000 x1 : dfff800000000000 x0 : 000000001ffffff8
>> Call trace:
>> task_numa_placement
>> arch_test_bit at include/asm-generic/bitops/non-atomic.h:118
>> (inlined by) node_state at include/linux/nodemask.h:416
>> (inlined by) task_numa_placement at kernel/sched/fair.c:2439
>> task_numa_fault
>> do_numa_page
>> handle_pte_fault
>> __handle_mm_fault
>> handle_mm_fault
>> do_page_fault
>> do_translation_fault
>> do_mem_abort
>> el0_da
>> el0t_64_sync_handler
>> el0t_64_sync
>> Code: 8b000296 d2d00001 f2fbffe1 d343fec3 (38e16861)
>> ---[ end trace 0000000000000000 ]---
>> Kernel panic - not syncing: Oops: Fatal exception
>> SMP: stopping secondary CPUs
>> Kernel Offset: 0x532fdcf70000 from 0xffff800008000000
>> PHYS_OFFSET: 0x80000000
>> CPU features: 0x00,00042c0c,19801c82
>> Memory Limit: none
>> ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
>
> Thanks for reporting! Can you try whether the following debug patch can fix the issue?
>
> Best Regards,
> Huang, Ying
>
> ----------------------------8<-------------------------------------------
> From 176d185426730111e763eb386d0210561f021dbc Mon Sep 17 00:00:00 2001
> From: Huang Ying <ying.huang@intel.com>
> Date: Wed, 2 Mar 2022 08:54:01 +0800
> Subject: [PATCH] dbg KASAN error
>
> ---
> kernel/sched/fair.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index a3f0ea216ccb..1fe7a4510cca 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -2405,7 +2405,7 @@ static void task_numa_placement(struct task_struct *p)
> }
>
> /* Cannot migrate task to CPU-less node */
> - if (!node_state(max_nid, N_CPU)) {
> + if (max_nid != NUMA_NO_NODE && !node_state(max_nid, N_CPU)) {
> int near_nid = max_nid;
> int distance, near_distance = INT_MAX;
Do you have time to give this patch a try?
Best Regards,
Huang, Ying
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
2022-03-07 5:51 ` Huang, Ying
@ 2022-03-07 13:53 ` Qian Cai
2022-03-08 0:40 ` Huang, Ying
0 siblings, 1 reply; 6+ messages in thread
From: Qian Cai @ 2022-03-07 13:53 UTC (permalink / raw)
To: Huang, Ying
Cc: linux-kernel, linux-tip-commits, Peter Zijlstra (Intel),
x86, linux-arm-kernel
On Mon, Mar 07, 2022 at 01:51:55PM +0800, Huang, Ying wrote:
> > ---
> > kernel/sched/fair.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index a3f0ea216ccb..1fe7a4510cca 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -2405,7 +2405,7 @@ static void task_numa_placement(struct task_struct *p)
> > }
> >
> > /* Cannot migrate task to CPU-less node */
> > - if (!node_state(max_nid, N_CPU)) {
> > + if (max_nid != NUMA_NO_NODE && !node_state(max_nid, N_CPU)) {
> > int near_nid = max_nid;
> > int distance, near_distance = INT_MAX;
>
> Do you have time to give this patch a try?
Ah, I thought I has already replied it a while ago. Anyway, it works fine.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node
2022-03-07 13:53 ` Qian Cai
@ 2022-03-08 0:40 ` Huang, Ying
0 siblings, 0 replies; 6+ messages in thread
From: Huang, Ying @ 2022-03-08 0:40 UTC (permalink / raw)
To: Qian Cai
Cc: linux-kernel, linux-tip-commits, Peter Zijlstra (Intel),
x86, linux-arm-kernel
Qian Cai <quic_qiancai@quicinc.com> writes:
> On Mon, Mar 07, 2022 at 01:51:55PM +0800, Huang, Ying wrote:
>> > ---
>> > kernel/sched/fair.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> > index a3f0ea216ccb..1fe7a4510cca 100644
>> > --- a/kernel/sched/fair.c
>> > +++ b/kernel/sched/fair.c
>> > @@ -2405,7 +2405,7 @@ static void task_numa_placement(struct task_struct *p)
>> > }
>> >
>> > /* Cannot migrate task to CPU-less node */
>> > - if (!node_state(max_nid, N_CPU)) {
>> > + if (max_nid != NUMA_NO_NODE && !node_state(max_nid, N_CPU)) {
>> > int near_nid = max_nid;
>> > int distance, near_distance = INT_MAX;
>>
>> Do you have time to give this patch a try?
>
> Ah, I thought I has already replied it a while ago. Anyway, it works fine.
Thanks!
Best Regards,
Huang, Ying
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-03-08 0:41 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20220214121553.582248-2-ying.huang@intel.com>
[not found] ` <164512421264.16921.689831789198253265.tip-bot2@tip-bot2>
2022-03-01 20:54 ` [tip: sched/core] sched/numa: Avoid migrating task to CPU-less node Qian Cai
2022-03-02 0:59 ` Huang, Ying
2022-03-02 12:37 ` Qian Cai
2022-03-07 5:51 ` Huang, Ying
2022-03-07 13:53 ` Qian Cai
2022-03-08 0:40 ` Huang, Ying
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).