All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey.Brodkin@synopsys.com (Alexey Brodkin)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 10/10] ARC: [plat-eznps] Handle memory error as an exception
Date: Thu, 25 May 2017 11:14:59 +0000	[thread overview]
Message-ID: <1495710896.5393.32.camel@synopsys.com> (raw)
In-Reply-To: <1495679660-9598-11-git-send-email-noamca@mellanox.com>

Hi Noam,

On Thu, 2017-05-25@05:34 +0300, Noam Camus wrote:
> From: Noam Camus <noamca at mellanox.com>
> 
> This commit adds the configuration CONFIG_EZNPS_MEM_ERROR.
> If set, it will cause the kernel to handle user memory error
> as a machine check exception.
> It is required in order to align the NPS simulator memory
> error handling to the one of the NPS400 real chip behavior.
> 
> Signed-off-by: Elad Kanfi <eladkan at mellanox.com>
> Signed-off-by: Noam Camus <noamca at mellanox.com>
> ---
> ?arch/arc/kernel/entry-compact.S |???11 +++++++++++
> ?arch/arc/plat-eznps/Kconfig?????|???11 +++++++++++
> ?2 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arc/kernel/entry-compact.S b/arch/arc/kernel/entry-compact.S
> index f285dbb..d152d36 100644
> --- a/arch/arc/kernel/entry-compact.S
> +++ b/arch/arc/kernel/entry-compact.S
> @@ -203,6 +203,17 @@ END(handle_interrupt_level2)
> ?; ---------------------------------------------
> ?ENTRY(mem_service)
> ?
> +#if defined(CONFIG_EZNPS_MEM_ERROR)
> +????????; SW workaround to cover up on a difference between
> +????????; NPS real chip and simulator behaviors.
> +????????; NPS real chip will activate a machine check exception
> +????????; in case of memory error, while the simulator will
> +????????; trigger a level 2 interrupt. Therefor this code section
> +????????; should be reached only in simulation mode.
> +????????; DEAD END: display Regs and HALT

I'm not really buying that.

Why don't you just make simulator behaving exactly as your real chip?

Adding those stubs for some corner-cases here and there complicate code,
affect maintainability etc.

-Alexey

WARNING: multiple messages have this Message-ID (diff)
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: "noamca@mellanox.com" <noamca@mellanox.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"eladkan@mellanox.com" <eladkan@mellanox.com>,
	"linux-snps-arc@lists.infradead.org" 
	<linux-snps-arc@lists.infradead.org>
Subject: Re: [PATCH 10/10] ARC: [plat-eznps] Handle memory error as an exception
Date: Thu, 25 May 2017 11:14:59 +0000	[thread overview]
Message-ID: <1495710896.5393.32.camel@synopsys.com> (raw)
In-Reply-To: <1495679660-9598-11-git-send-email-noamca@mellanox.com>

Hi Noam,

On Thu, 2017-05-25 at 05:34 +0300, Noam Camus wrote:
> From: Noam Camus <noamca@mellanox.com>
> 
> This commit adds the configuration CONFIG_EZNPS_MEM_ERROR.
> If set, it will cause the kernel to handle user memory error
> as a machine check exception.
> It is required in order to align the NPS simulator memory
> error handling to the one of the NPS400 real chip behavior.
> 
> Signed-off-by: Elad Kanfi <eladkan@mellanox.com>
> Signed-off-by: Noam Camus <noamca@mellanox.com>
> ---
>  arch/arc/kernel/entry-compact.S |   11 +++++++++++
>  arch/arc/plat-eznps/Kconfig     |   11 +++++++++++
>  2 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arc/kernel/entry-compact.S b/arch/arc/kernel/entry-compact.S
> index f285dbb..d152d36 100644
> --- a/arch/arc/kernel/entry-compact.S
> +++ b/arch/arc/kernel/entry-compact.S
> @@ -203,6 +203,17 @@ END(handle_interrupt_level2)
>  ; ---------------------------------------------
>  ENTRY(mem_service)
>  
> +#if defined(CONFIG_EZNPS_MEM_ERROR)
> +        ; SW workaround to cover up on a difference between
> +        ; NPS real chip and simulator behaviors.
> +        ; NPS real chip will activate a machine check exception
> +        ; in case of memory error, while the simulator will
> +        ; trigger a level 2 interrupt. Therefor this code section
> +        ; should be reached only in simulation mode.
> +        ; DEAD END: display Regs and HALT

I'm not really buying that.

Why don't you just make simulator behaving exactly as your real chip?

Adding those stubs for some corner-cases here and there complicate code,
affect maintainability etc.

-Alexey

  reply	other threads:[~2017-05-25 11:14 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-25  2:34 [PATCH 00/10] ARC plat-eznps upstream cont Noam Camus
2017-05-25  2:34 ` Noam Camus
2017-05-25  2:34 ` [PATCH 01/10] ARC: set level of log per CPU during boot to be debug level Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 10:55   ` Alexey Brodkin
2017-05-25 10:55     ` Alexey Brodkin
2017-05-25  2:34 ` [PATCH 02/10] ARC: send ipi to all cpus sharing task mm in case of page fault Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:36   ` Alexey Brodkin
2017-05-25 11:36     ` Alexey Brodkin
2017-05-25  2:34 ` [PATCH 03/10] ARC: typo fix in mm/fault.c Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:04   ` Alexey Brodkin
2017-05-25 11:04     ` Alexey Brodkin
2017-05-25  2:34 ` [PATCH 04/10] ARC: typos fix in kernel/entry-compact.S Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:05   ` Alexey Brodkin
2017-05-25 11:05     ` Alexey Brodkin
2017-05-25  2:34 ` [PATCH 05/10] ARC: [plat-eznps] typo fix at Kconfig Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:07   ` Alexey Brodkin
2017-05-25 11:07     ` Alexey Brodkin
2017-05-25  2:34 ` [PATCH 06/10] ARC: [plat-eznps] Fix TLB Errata Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:00   ` Alexey Brodkin
2017-05-25 11:00     ` Alexey Brodkin
2017-05-25 11:12     ` Noam Camus
2017-05-25 11:12       ` Noam Camus
2017-06-01 21:16     ` Vineet Gupta
2017-06-01 21:16       ` Vineet Gupta
2017-05-25  2:34 ` [PATCH 07/10] ARC: [plat-eznps] disabled stall counter due to a HW bug Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:10   ` Alexey Brodkin
2017-05-25 11:10     ` Alexey Brodkin
2017-05-25 11:16     ` Noam Camus
2017-05-25 11:16       ` Noam Camus
2017-05-25  2:34 ` [PATCH 08/10] ARC: [plat-eznps] spinlock aware for MTM Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25  2:34 ` [PATCH 09/10] ARC: [plat-eznps] use schd.wft instruction instead of sleep at idle task Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25  2:34 ` [PATCH 10/10] ARC: [plat-eznps] Handle memory error as an exception Noam Camus
2017-05-25  2:34   ` Noam Camus
2017-05-25 11:14   ` Alexey Brodkin [this message]
2017-05-25 11:14     ` Alexey Brodkin
2017-05-25 11:26     ` Noam Camus
2017-05-25 11:26       ` Noam Camus
2017-05-25 11:30       ` Alexey Brodkin
2017-05-25 11:30         ` Alexey Brodkin
2017-05-25 12:03         ` Noam Camus
2017-05-25 12:03           ` Noam Camus
2017-05-25 12:05           ` Alexey Brodkin
2017-05-25 12:05             ` Alexey Brodkin
2017-06-06 21:57         ` Vineet Gupta
2017-06-06 21:57           ` Vineet Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1495710896.5393.32.camel@synopsys.com \
    --to=alexey.brodkin@synopsys.com \
    --cc=linux-snps-arc@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.