RE: [PATCH v3 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-08-22 Thread Noam Camus
>From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] >Sent: Monday, August 21, 2017 20:04 PM >> + >> +/* Handle an out of bounds mtm hs counter value */ static void __init >> +handle_mtm_hs_ctr_out_of_bounds_error(uint8_t val) { >> +pr_err("** The value must be in range [%d,%d]

RE: [PATCH v3 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-08-22 Thread Noam Camus
>From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] >Sent: Monday, August 21, 2017 20:04 PM >> + >> +/* Handle an out of bounds mtm hs counter value */ static void __init >> +handle_mtm_hs_ctr_out_of_bounds_error(uint8_t val) { >> +pr_err("** The value must be in range [%d,%d]

[PATCH v3 00/11] plat-eznps upstream cont. set 2

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Change Log: V2 -> V3 1) turn ARC prink's into pr_info as suggested by Vineet 2) For new command line argument (hs counter) shorten error massage to a single line, again as Vineet commented. V1 -> V2 1) I added "Handle memory error as an

[PATCH v3 00/11] plat-eznps upstream cont. set 2

2017-06-15 Thread Noam Camus
From: Noam Camus Change Log: V2 -> V3 1) turn ARC prink's into pr_info as suggested by Vineet 2) For new command line argument (hs counter) shorten error massage to a single line, again as Vineet commented. V1 -> V2 1) I added "Handle memory error as an exception" patch f

[PATCH v3 01/11] ARC: set level of log per CPU during boot to be info level

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Now it can be hidden by passing higher loglevel sevirity at cmdline The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large

[PATCH v3 01/11] ARC: set level of log per CPU during boot to be info level

2017-06-15 Thread Noam Camus
From: Noam Camus Now it can be hidden by passing higher loglevel sevirity at cmdline The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400

[PATCH v3 09/11] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-15 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be c

[PATCH v3 10/11] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-15 Thread Noam Camus
parent value. Signed-off-by: Noam Camus <no...@ezchip.com> --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff

[PATCH v3 09/11] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-15 Thread Noam Camus
From: Noam Camus thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be changed by the new task while

[PATCH v3 10/11] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-15 Thread Noam Camus
-by: Noam Camus --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/entry-compact.h b/arch

[PATCH v3 03/11] ARC: Allow irq threading

2017-06-15 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to r

[PATCH v3 03/11] ARC: Allow irq threading

2017-06-15 Thread Noam Camus
From: Noam Camus Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to restore last one and pop

[PATCH v3 08/11] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-15 Thread Noam Camus
na <li...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/plat-eznps/Kconfig | 11 +++ arch/arc/plat-eznps/entry.S |2 +- 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/arch/arc/plat-eznps/Kconfig b/arch/arc/plat-eznps/Kconfig inde

[PATCH v3 08/11] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-15 Thread Noam Camus
that implement a different set of auxiliary registers disabling this configuration insures that we initialize registers on every cpu and not just for the first thread of the core. Example for non shared registers is working with EZsim (non silicon) Signed-off-by: Liav Rehana Signed-off-by: Noam

[PATCH v3 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HW scheduler. Signed-off-by: Noam Camu

[PATCH v3 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-15 Thread Noam Camus
From: Noam Camus We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HW scheduler. Signed-off-by: Noam Camus --- Documentation/admin-guide/kernel

[PATCH v3 11/11] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-15 Thread Noam Camus
hanged afterwards. Signed-off-by: Elad Kanfi <elad...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --g

[PATCH v3 05/11] ARC: Support more than one PGDIR for KVADDR

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/Kconfig

[PATCH v3 11/11] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-15 Thread Noam Camus
-by: Elad Kanfi Signed-off-by: Noam Camus --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/arch/arc/plat-eznps/include/plat/ctop.h b/arch/arc/plat-eznps/include/plat

[PATCH v3 05/11] ARC: Support more than one PGDIR for KVADDR

2017-06-15 Thread Noam Camus
From: Noam Camus This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus --- arch/arc/Kconfig | 11 +++ arch/arc/include/asm/highmem.h |8

[PATCH v3 04/11] ARC: Add CPU topology

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch

[PATCH v3 04/11] ARC: Add CPU topology

2017-06-15 Thread Noam Camus
From: Noam Camus Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus --- arch/arc/Kconfig| 27 arch/arc

[PATCH v3 06/11] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. a

[PATCH v3 02/11] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-15 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Sign

[PATCH v3 02/11] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-15 Thread Noam Camus
From: Noam Camus This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Signed-off-by: Noam Camus

[PATCH v3 06/11] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-15 Thread Noam Camus
From: Noam Camus This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. address range of node0 assumed

[PATCH v2 09/12] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-13 Thread Noam Camus
thread in each core. On platforms that implement a different set of auxiliary registers there is a need to initialize them on every cpu and not just the for the first thread of the core. Signed-off-by: Liav Rehana <li...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- a

[PATCH v2 09/12] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-13 Thread Noam Camus
. On platforms that implement a different set of auxiliary registers there is a need to initialize them on every cpu and not just the for the first thread of the core. Signed-off-by: Liav Rehana Signed-off-by: Noam Camus --- arch/arc/plat-eznps/Kconfig | 11 +++ arch/arc/plat-eznps/entry.S |2

[PATCH v2 10/12] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-13 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be c

[PATCH v2 10/12] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-13 Thread Noam Camus
From: Noam Camus thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be changed by the new task while

[PATCH v2 06/12] ARC: Support more than one PGDIR for KVADDR

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/Kconfig

[PATCH v2 07/12] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. a

[PATCH v2 07/12] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-13 Thread Noam Camus
From: Noam Camus This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. address range of node0 assumed

[PATCH v2 06/12] ARC: Support more than one PGDIR for KVADDR

2017-06-13 Thread Noam Camus
From: Noam Camus This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus --- arch/arc/Kconfig | 11 +++ arch/arc/include/asm/highmem.h |8

[PATCH v2 08/12] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HE scheduler. Signed-off-by: Noam Camu

[PATCH v2 01/12] ARC: [plat-eznps] Handle memory error as an exception

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> On ARC700, user mode memory error is treated as L2 interrupt, but NPS hardware treats it as Machine Check exception. Address this by defining an NPS specific bus error handler. Signed-off-by: Noam Camus <noa...@mellanox.com> Signed-off-by: Elad

[PATCH v2 01/12] ARC: [plat-eznps] Handle memory error as an exception

2017-06-13 Thread Noam Camus
From: Noam Camus On ARC700, user mode memory error is treated as L2 interrupt, but NPS hardware treats it as Machine Check exception. Address this by defining an NPS specific bus error handler. Signed-off-by: Noam Camus Signed-off-by: Elad Kanfi --- arch/arc/kernel/traps.c |2

[PATCH v2 08/12] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-13 Thread Noam Camus
From: Noam Camus We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HE scheduler. Signed-off-by: Noam Camus --- Documentation/admin-guide/kernel

[PATCH v2 00/12] plat-eznps upstream cont. set 2

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Chanlog: V1 -> V2 1) I added "Handle memory error as an exception" patch from previous set It now turn do_memory_error() into weak sybol. It is then overriden by NPS400 platform, to simply call die(). 2) This set is now based on arc-

[PATCH v2 00/12] plat-eznps upstream cont. set 2

2017-06-13 Thread Noam Camus
From: Noam Camus Chanlog: V1 -> V2 1) I added "Handle memory error as an exception" patch from previous set It now turn do_memory_error() into weak sybol. It is then overriden by NPS400 platform, to simply call die(). 2) This set is now based on arc-next branch Summary: With t

[PATCH v2 03/12] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Sign

[PATCH v2 03/12] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-13 Thread Noam Camus
From: Noam Camus This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Signed-off-by: Noam Camus

[PATCH v2 11/12] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-13 Thread Noam Camus
parent value. Signed-off-by: Noam Camus <no...@ezchip.com> --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff

[PATCH v2 04/12] ARC: Allow irq threading

2017-06-13 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to r

[PATCH v2 04/12] ARC: Allow irq threading

2017-06-13 Thread Noam Camus
From: Noam Camus Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to restore last one and pop

[PATCH v2 11/12] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-13 Thread Noam Camus
-by: Noam Camus --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/entry-compact.h b/arch

[PATCH v2 12/12] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-13 Thread Noam Camus
hanged afterwards. Signed-off-by: Elad Kanfi <elad...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --g

[PATCH v2 05/12] ARC: Add CPU topology

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch

[PATCH v2 02/12] ARC: set level of log per CPU during boot to be debug level

2017-06-13 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus <noa...@mel

[PATCH v2 12/12] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-13 Thread Noam Camus
-by: Elad Kanfi Signed-off-by: Noam Camus --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/arch/arc/plat-eznps/include/plat/ctop.h b/arch/arc/plat-eznps/include/plat

[PATCH v2 05/12] ARC: Add CPU topology

2017-06-13 Thread Noam Camus
From: Noam Camus Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus --- arch/arc/Kconfig| 27 arch/arc

[PATCH v2 02/12] ARC: set level of log per CPU during boot to be debug level

2017-06-13 Thread Noam Camus
From: Noam Camus The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus --- arch/arc/kernel/setup.c |6

[PATCH 01/11] ARC: set level of log per CPU during boot to be debug level

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus <noa...@mel

[PATCH 01/11] ARC: set level of log per CPU during boot to be debug level

2017-06-08 Thread Noam Camus
From: Noam Camus The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus --- arch/arc/kernel/setup.c |6

[PATCH 03/11] ARC: Allow irq threading

2017-06-08 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to r

[PATCH 10/11] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-08 Thread Noam Camus
parent value. Signed-off-by: Noam Camus <no...@ezchip.com> --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff

[PATCH 03/11] ARC: Allow irq threading

2017-06-08 Thread Noam Camus
From: Noam Camus Working with NPS400 we noticed that there is a possibility of L1 interrupt nesting that may run out kernel stack. The scenario include serving invoke_softirqs() from irq_exit() and once local_irq_enable() called can hit another one before we managed to restore last one and pop

[PATCH 10/11] ARC: [plat-eznps] handle dedicated AUX registers

2017-06-08 Thread Noam Camus
-by: Noam Camus --- arch/arc/include/asm/entry-compact.h | 24 arch/arc/include/asm/ptrace.h|5 + arch/arc/kernel/process.c|4 3 files changed, 33 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/entry-compact.h b/arch

[PATCH 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HE scheduler. Signed-off-by: Noam Camu

[PATCH 11/11] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-08 Thread Noam Camus
hanged afterwards. Signed-off-by: Elad Kanfi <elad...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --g

[PATCH 11/11] ARC: [plat-eznps] avoid toggling of DPC register

2017-06-08 Thread Noam Camus
-by: Elad Kanfi Signed-off-by: Noam Camus --- arch/arc/plat-eznps/include/plat/ctop.h |1 + arch/arc/plat-eznps/mtm.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/arch/arc/plat-eznps/include/plat/ctop.h b/arch/arc/plat-eznps/include/plat

[PATCH 07/11] ARC: [plat-eznps] new command line argument for HW scheduler at MTM

2017-06-08 Thread Noam Camus
From: Noam Camus We add ability for all cores at NPS SoC to control the number of cycles HW thread can execute before it is replace with another eligible HW thread within the same core. The replacement is done by the HE scheduler. Signed-off-by: Noam Camus --- Documentation/admin-guide/kernel

[PATCH 09/11] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-08 Thread Noam Camus
From: Noam Camus <no...@ezchip.com> thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be c

[PATCH 08/11] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-08 Thread Noam Camus
thread in each core. On platforms that implement a different set of auxiliary registers there is a need to initialize them on every cpu and not just the for the first thread of the core. Signed-off-by: Liav Rehana <li...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> --- a

[PATCH 09/11] ARC: [plat-eznps] Save/Restore extra auxiliary registers

2017-06-08 Thread Noam Camus
From: Noam Camus thread_struct got new field for data plane of eznps platform. This field got place for data plane auxiliary registers and for any extra registers that might be changed in kernel code. We save EFLAGS, and GPA1 auxiliary registers since they may be changed by the new task while

[PATCH 08/11] ARC: [plat-eznps] Update the init sequence of aux regs per cpu.

2017-06-08 Thread Noam Camus
. On platforms that implement a different set of auxiliary registers there is a need to initialize them on every cpu and not just the for the first thread of the core. Signed-off-by: Liav Rehana Signed-off-by: Noam Camus --- arch/arc/plat-eznps/Kconfig | 11 +++ arch/arc/plat-eznps/entry.S |2

[PATCH 04/11] ARC: Add CPU topology

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch

[PATCH 04/11] ARC: Add CPU topology

2017-06-08 Thread Noam Camus
From: Noam Camus Now it is used for NPS SoC for multi-core of 256 cores and SMT of 16 HW threads per core. This way with topology the scheduler is much efficient in creating domains and later using them. Signed-off-by: Noam Camus --- arch/arc/Kconfig| 27 arch/arc

[PATCH 05/11] ARC: Support more than one PGDIR for KVADDR

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/Kconfig

[PATCH 05/11] ARC: Support more than one PGDIR for KVADDR

2017-06-08 Thread Noam Camus
From: Noam Camus This way FIXMAP can have 2 PTEs per CPU even for NR_CPUS=4096 For the extreme case like in eznps platform We use all gutter between kernel and user. Signed-off-by: Noam Camus --- arch/arc/Kconfig | 11 +++ arch/arc/include/asm/highmem.h |8

[PATCH 06/11] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. a

[PATCH 06/11] ARC: [NUMA] added CONFIG_NUMA for plat-eznps

2017-06-08 Thread Noam Camus
From: Noam Camus This is needed for NPS400 where high memory is assigned to node1 where the associated addresses are lower than node0. This use case is not typical and just using discontigmem is not enough since nodes assumed to have increasing address range. i.e. address range of node0 assumed

[PATCH 02/11] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Sign

[PATCH 02/11] ARC: send ipi to all cpus sharing task mm in case of page fault

2017-06-08 Thread Noam Camus
From: Noam Camus This patch is derived due to performance issue. The use case is a page fault that resides on more than the local cpu. Trying to broadcast all CPUs results on performance degradation. So we try to avoid this by sending only to the relevant CPUs. Signed-off-by: Noam Camus

[PATCH 00/11] plat-eznps upstream cont. set 2

2017-06-08 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> With this patch set I continue the effort of upstreaming the eznps platform for arch/arc. It comprise of couple of patches from last set yet not accepted, patches for HW erratas and some misc extensions such for HIGHMEM / NUMA. This set got more g

[PATCH 00/11] plat-eznps upstream cont. set 2

2017-06-08 Thread Noam Camus
From: Noam Camus With this patch set I continue the effort of upstreaming the eznps platform for arch/arc. It comprise of couple of patches from last set yet not accepted, patches for HW erratas and some misc extensions such for HIGHMEM / NUMA. This set got more generic ARC changes than

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-07 Thread Noam Camus
> From: Noam Camus > Sent: Wednesday, June 7, 2017 9:08 AM >To: 'Vineet Gupta' <vineet.gup...@synopsys.com>; >linux-snps-...@lists.infradead.org >Cc: linux-kernel@vger.kernel.org; Elad Kanfi <elad...@mellanox.com> >Subject: RE: [PATCH v2 11/11] ARC: [p

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-07 Thread Noam Camus
> From: Noam Camus > Sent: Wednesday, June 7, 2017 9:08 AM >To: 'Vineet Gupta' ; >linux-snps-...@lists.infradead.org >Cc: linux-kernel@vger.kernel.org; Elad Kanfi >Subject: RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an >exception >>From: Vine

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-07 Thread Noam Camus
>From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] >Sent: Wednesday, June 7, 2017 1:11 AM ... >> + >> +config EZNPS_MEM_ERROR >> + bool "ARC-EZchip Memory error as an exception" >> + depends on ARC_PLAT_EZNPS >> + default n >So you set default to "n" - thus by default it

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-07 Thread Noam Camus
>From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] >Sent: Wednesday, June 7, 2017 1:11 AM ... >> + >> +config EZNPS_MEM_ERROR >> + bool "ARC-EZchip Memory error as an exception" >> + depends on ARC_PLAT_EZNPS >> + default n >So you set default to "n" - thus by default it

RE: [PATCH v2 08/11] ARC: [plat-eznps] spinlock aware for MTM

2017-06-04 Thread Noam Camus
> From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] > Sent: Friday, June 2, 2017 21:36 PM ... >> arch/arc/include/asm/spinlock.h |6 ++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arc/include/asm/spinlock.h >> b/arch/arc/include/asm/spinlock.h

RE: [PATCH v2 08/11] ARC: [plat-eznps] spinlock aware for MTM

2017-06-04 Thread Noam Camus
> From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] > Sent: Friday, June 2, 2017 21:36 PM ... >> arch/arc/include/asm/spinlock.h |6 ++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arc/include/asm/spinlock.h >> b/arch/arc/include/asm/spinlock.h

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-04 Thread Noam Camus
> From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] > Sent: Friday, June 2, 2017 22:04 PM >> diff --git a/arch/arc/plat-eznps/Kconfig b/arch/arc/plat-eznps/Kconfig >> index feaa471..c5f946c 100644 >> --- a/arch/arc/plat-eznps/Kconfig >> +++ b/arch/arc/plat-eznps/Kconfig >> @@ -32,3 +32,14

RE: [PATCH v2 11/11] ARC: [plat-eznps] Handle memory error as an exception

2017-06-04 Thread Noam Camus
> From: Vineet Gupta [mailto:vineet.gup...@synopsys.com] > Sent: Friday, June 2, 2017 22:04 PM >> diff --git a/arch/arc/plat-eznps/Kconfig b/arch/arc/plat-eznps/Kconfig >> index feaa471..c5f946c 100644 >> --- a/arch/arc/plat-eznps/Kconfig >> +++ b/arch/arc/plat-eznps/Kconfig >> @@ -32,3 +32,14

[PATCH v2 01/11] ARC: set level of log per CPU during boot to be debug level

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus <noa...@mel

[PATCH v2 00/11] ARC plat-eznps upstream cont.

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Change Log --- v1 --> v2: Outcome of Alexey Brodkin comments 1) Turned mem_service into weak symbol, so it can be override by any platform 2) remove ifedf wrapper on '88' lable at assembly of TLB exception. With this patch set I continue t

[PATCH v2 01/11] ARC: set level of log per CPU during boot to be debug level

2017-05-28 Thread Noam Camus
From: Noam Camus The reasons are: 1) speeding up boot time, becomes critical for many CPUs machine, e.g. NPS400 with 4K CPUs 2) shorten kernel log at boot time, again easy to scan for large scale machines such NPS400 Signed-off-by: Noam Camus --- arch/arc/kernel/setup.c |6

[PATCH v2 00/11] ARC plat-eznps upstream cont.

2017-05-28 Thread Noam Camus
From: Noam Camus Change Log --- v1 --> v2: Outcome of Alexey Brodkin comments 1) Turned mem_service into weak symbol, so it can be override by any platform 2) remove ifedf wrapper on '88' lable at assembly of TLB exception. With this patch set I continue the effort of upstream

[PATCH v2 09/11] ARC: [plat-eznps] use schd.wft instruction instead of sleep at idle task

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> When HW threads are active we want CPU to enter idle state only for the calling HW thread and not to put on sleep all HW threads sharing this core. For this need the NPS400 got dedicated instruction so only calling thread is entring sleep and all

[PATCH v2 07/11] ARC: [plat-eznps] disabled stall counter due to a HW bug

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This counter represents threshold for consecutive stall that which trigger HW threads scheduling. When this feature is enabled low values of this counter cause downgrade in performance and in the worst case even a livelock. Remove those couple of

[PATCH v2 09/11] ARC: [plat-eznps] use schd.wft instruction instead of sleep at idle task

2017-05-28 Thread Noam Camus
From: Noam Camus When HW threads are active we want CPU to enter idle state only for the calling HW thread and not to put on sleep all HW threads sharing this core. For this need the NPS400 got dedicated instruction so only calling thread is entring sleep and all other are still awake and can

[PATCH v2 07/11] ARC: [plat-eznps] disabled stall counter due to a HW bug

2017-05-28 Thread Noam Camus
From: Noam Camus This counter represents threshold for consecutive stall that which trigger HW threads scheduling. When this feature is enabled low values of this counter cause downgrade in performance and in the worst case even a livelock. Remove those couple of lines and resort to HW reset

[PATCH v2 05/11] ARC: [plat-eznps] typo fix at Kconfig

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Signed-off-by: Noam Camus <noa...@mellanox.com> Reviewed-by: Alexey Brodkin <abrod...@synopsys.com> --- arch/arc/plat-eznps/Kconfig |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arc/plat-eznps/Kconfig b/a

[PATCH v2 05/11] ARC: [plat-eznps] typo fix at Kconfig

2017-05-28 Thread Noam Camus
From: Noam Camus Signed-off-by: Noam Camus Reviewed-by: Alexey Brodkin --- arch/arc/plat-eznps/Kconfig |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arc/plat-eznps/Kconfig b/arch/arc/plat-eznps/Kconfig index 1595a38..feaa471 100644 --- a/arch/arc/plat-eznps

[PATCH v2 08/11] ARC: [plat-eznps] spinlock aware for MTM

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> This way when we execute "ex" during trying to hold lock we can switch to other HW thread and utilize the core intead of just spinning on a lock. We noticed about 10% improvement of execution time with hackbench test. Signed-off-by:

[PATCH v2 06/11] ARC: [plat-eznps] Fix TLB Errata

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> Due to a HW bug in NPS400 we get from time to time false TLB miss. Workaround this by validating each miss. Signed-off-by: Noam Camus <noa...@mellanox.com> --- arch/arc/mm/tlbex.S |9 + 1 files changed, 9 insertions(+), 0 deleti

[PATCH v2 10/11] ARC: enable platform specific mem_service implementation

2017-05-28 Thread Noam Camus
From: Noam Camus <noa...@mellanox.com> For User Mode Memory Bus Error some platforms do not creat interrupt level 2 e.g. nps400 creates machine check exception. Turning mem_service into weak symbol allows each platform to override mem_service with its own implementation. Signed-off-by

[PATCH v2 08/11] ARC: [plat-eznps] spinlock aware for MTM

2017-05-28 Thread Noam Camus
From: Noam Camus This way when we execute "ex" during trying to hold lock we can switch to other HW thread and utilize the core intead of just spinning on a lock. We noticed about 10% improvement of execution time with hackbench test. Signed-off-by: Noam Camus --- arch/arc/i

[PATCH v2 06/11] ARC: [plat-eznps] Fix TLB Errata

2017-05-28 Thread Noam Camus
From: Noam Camus Due to a HW bug in NPS400 we get from time to time false TLB miss. Workaround this by validating each miss. Signed-off-by: Noam Camus --- arch/arc/mm/tlbex.S |9 + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/arch/arc/mm/tlbex.S b/arch/arc/mm

[PATCH v2 10/11] ARC: enable platform specific mem_service implementation

2017-05-28 Thread Noam Camus
From: Noam Camus For User Mode Memory Bus Error some platforms do not creat interrupt level 2 e.g. nps400 creates machine check exception. Turning mem_service into weak symbol allows each platform to override mem_service with its own implementation. Signed-off-by: Noam Camus --- arch/arc

  1   2   3   4   5   6   7   8   >