diff mbox

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

Message ID 1495679660-9598-8-git-send-email-noamca@mellanox.com
State New
Headers show

Commit Message

Noam Camus May 25, 2017, 2:34 a.m. UTC
From: Noam Camus <noamca@mellanox.com>

This counter represents threshold for consecutive stall that which
trigger HW threads scheduling.
Low values of this counter cause downgrade in performance
and in the worst case even a livelock.

Signed-off-by: Noam Camus <noamca@mellanox.com>
---
 arch/arc/plat-eznps/mtm.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

Comments

Alexey Brodkin May 25, 2017, 11:10 a.m. UTC | #1
Hi Noam,

On Thu, 2017-05-25 at 05:34 +0300, Noam Camus wrote:
> From: Noam Camus <noamca@mellanox.com>

> 

> This counter represents threshold for consecutive stall that which

> trigger HW threads scheduling.

> Low values of this counter cause downgrade in performance

> and in the worst case even a livelock.

> 

> Signed-off-by: Noam Camus <noamca@mellanox.com>

> ---

>  arch/arc/plat-eznps/mtm.c |    2 --

>  1 files changed, 0 insertions(+), 2 deletions(-)

> 

> diff --git a/arch/arc/plat-eznps/mtm.c b/arch/arc/plat-eznps/mtm.c

> index aaaaffd..e0cb36b 100644

> --- a/arch/arc/plat-eznps/mtm.c

> +++ b/arch/arc/plat-eznps/mtm.c

> @@ -119,8 +119,6 @@ void mtm_enable_core(unsigned int cpu)

>  	mt_ctrl.value = 0;

>  	mt_ctrl.hsen = 1;

>  	mt_ctrl.hs_cnt = MT_CTRL_HS_CNT;

> -	mt_ctrl.sten = 1;

> -	mt_ctrl.st_cnt = MT_CTRL_ST_CNT;


Even though I don't know your architecture this change doesn't
make enough sense to me in absence of better explanation of what is
really done here.

I.e. how removal of those 2 lines above improve your situation.

-Alexey
Noam Camus May 25, 2017, 11:16 a.m. UTC | #2
>From: Alexey Brodkin [mailto:Alexey.Brodkin@synopsys.com] 

>Sent: Thursday, May 25, 2017 14:10 PM

...
>> diff --git a/arch/arc/plat-eznps/mtm.c b/arch/arc/plat-eznps/mtm.c 

>> index aaaaffd..e0cb36b 100644

>> --- a/arch/arc/plat-eznps/mtm.c

>> +++ b/arch/arc/plat-eznps/mtm.c

>> @@ -119,8 +119,6 @@ void mtm_enable_core(unsigned int cpu)

>>  	mt_ctrl.value = 0;

>>  	mt_ctrl.hsen = 1;

>>  	mt_ctrl.hs_cnt = MT_CTRL_HS_CNT;

>> -	mt_ctrl.sten = 1;

>> -	mt_ctrl.st_cnt = MT_CTRL_ST_CNT;


>Even though I don't know your architecture this change doesn't make enough sense to me in absence of better explanation of what is really done here.


>I.e. how removal of those 2 lines above improve your situation.

By removing 2 lines I am resorting to HW reset value where sten=0 i.e. feature is disabled.
I will rewrite the explanation

-Noam
diff mbox

Patch

diff --git a/arch/arc/plat-eznps/mtm.c b/arch/arc/plat-eznps/mtm.c
index aaaaffd..e0cb36b 100644
--- a/arch/arc/plat-eznps/mtm.c
+++ b/arch/arc/plat-eznps/mtm.c
@@ -119,8 +119,6 @@  void mtm_enable_core(unsigned int cpu)
 	mt_ctrl.value = 0;
 	mt_ctrl.hsen = 1;
 	mt_ctrl.hs_cnt = MT_CTRL_HS_CNT;
-	mt_ctrl.sten = 1;
-	mt_ctrl.st_cnt = MT_CTRL_ST_CNT;
 	mt_ctrl.mten = 1;
 	write_aux_reg(CTOP_AUX_MT_CTRL, mt_ctrl.value);