2016-03-07 14:31:01

by Chrzaniuk, Hubert

[permalink] [raw]
Subject: [PATCH] EDAC, sb_edac: Fixed logic error in sb_edac driver

Patch corrects a typo introduced previously.
As a result under some configurations dimms were not
correctly recognized. Problem affects only Xeon Phi architecture.

Signed-off-by: Hubert Chrzaniuk <[email protected]>
---
drivers/edac/sb_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index e438ee5..f5c6b97 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -1574,7 +1574,7 @@ static int knl_get_dimm_capacity(struct sbridge_pvt *pvt, u64 *mc_sizes)
for (cha = 0; cha < KNL_MAX_CHAS; cha++) {
if (knl_get_mc_route(target,
mc_route_reg[cha]) == channel
- && participants[channel]) {
+ && !participants[channel]) {
participant_count++;
participants[channel] = 1;
break;
--
1.8.3.1


2016-03-07 15:24:35

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, sb_edac: Fixed logic error in sb_edac driver

On Mon, Mar 07, 2016 at 03:30:45PM +0100, Hubert Chrzaniuk wrote:
> Patch corrects a typo introduced previously.
> As a result under some configurations dimms were not
> correctly recognized. Problem affects only Xeon Phi architecture.
>
> Signed-off-by: Hubert Chrzaniuk <[email protected]>
> ---
> drivers/edac/sb_edac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
> index e438ee5..f5c6b97 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -1574,7 +1574,7 @@ static int knl_get_dimm_capacity(struct sbridge_pvt *pvt, u64 *mc_sizes)
> for (cha = 0; cha < KNL_MAX_CHAS; cha++) {
> if (knl_get_mc_route(target,
> mc_route_reg[cha]) == channel
> - && participants[channel]) {
> + && !participants[channel]) {
> participant_count++;
> participants[channel] = 1;
> break;
> --

Do I see it correctly this one fixes

d0cdf9003140 ("EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support")

and needs to go to Linus now otherwise 4.5 is b0rked on KNL?

On a related note, that knl_get_dimm_capacity() is huuuge and hard to
read and could use some nice cleanups and splitting out functionality
into helper functions...

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.

2016-03-07 16:20:59

by Aristeu Rozanski

[permalink] [raw]
Subject: Re: [PATCH] EDAC, sb_edac: Fixed logic error in sb_edac driver

On Mon, Mar 07, 2016 at 03:30:45PM +0100, Hubert Chrzaniuk wrote:
> Patch corrects a typo introduced previously.
> As a result under some configurations dimms were not
> correctly recognized. Problem affects only Xeon Phi architecture.
>
> Signed-off-by: Hubert Chrzaniuk <[email protected]>
> ---
> drivers/edac/sb_edac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
> index e438ee5..f5c6b97 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -1574,7 +1574,7 @@ static int knl_get_dimm_capacity(struct sbridge_pvt *pvt, u64 *mc_sizes)
> for (cha = 0; cha < KNL_MAX_CHAS; cha++) {
> if (knl_get_mc_route(target,
> mc_route_reg[cha]) == channel
> - && participants[channel]) {
> + && !participants[channel]) {
> participant_count++;
> participants[channel] = 1;
> break;

I can confirm this fixes the issues I've seen with the upstream driver.

Acked-by: Aristeu Rozanski <[email protected]>

--
Aristeu

2016-03-08 09:18:49

by Chrzaniuk, Hubert

[permalink] [raw]
Subject: RE: [PATCH] EDAC, sb_edac: Fixed logic error in sb_edac driver

-----Original Message-----
From: Borislav Petkov [mailto:[email protected]]
Sent: Monday, March 7, 2016 4:24 PM

> Do I see it correctly this one fixes
> d0cdf9003140 ("EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support")
> and needs to go to Linus now otherwise 4.5 is b0rked on KNL?

Yes, that’s right:
1. d0cdf9003140 is the patch I am referring to
2. EDAC for KNL platform on 4.5 will not cause any problems but will not be functional for DIMMs (only for MCDRAM)

> On a related note, that knl_get_dimm_capacity() is huuuge and hard to
> read and could use some nice cleanups and splitting out functionality
> into helper functions...

Thanks, that is a valid point, it will be refactored in a separate patch.
However it would good to fix what we have now, so I still hope to have the patch merged anyway...

-Hubert


2016-03-08 10:28:31

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, sb_edac: Fixed logic error in sb_edac driver

On Tue, Mar 08, 2016 at 09:18:33AM +0000, Chrzaniuk, Hubert wrote:
> Yes, that’s right:
> 1. d0cdf9003140 is the patch I am referring to
> 2. EDAC for KNL platform on 4.5 will not cause any problems but will not be functional for DIMMs (only for MCDRAM)

Ok, thanks for confirming.

> Thanks, that is a valid point, it will be refactored in a separate
> patch. However it would good to fix what we have now, so I still hope
> to have the patch merged anyway...

Of course - it is too late for cleanups anyway. I was suggesting that
you guys put it on your radar and start cleaning it up at some point,
when you get a chance. It is a low prio thing and can wait.

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.