Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1510545 > unrolled thread

Re: [PATCH] EDAC: expose per-dimm error counts in sysfs

Started byBorislav Petkov <bp@alien8.de>
First post2016-10-27 20:10 +0200
Last post2016-10-28 12:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] EDAC: expose per-dimm error counts in sysfs Borislav Petkov <bp@alien8.de> - 2016-10-27 20:10 +0200
    Re: [PATCH] EDAC: expose per-dimm error counts in sysfs Mauro Carvalho Chehab <mchehab@s-opensource.com> - 2016-10-27 20:20 +0200
    Re: [PATCH] EDAC: expose per-dimm error counts in sysfs Aaron Miller <aaronmiller@fb.com> - 2016-10-27 23:30 +0200
      Re: [PATCH] EDAC: expose per-dimm error counts in sysfs Aaron Miller <aaronmiller@fb.com> - 2016-10-28 12:00 +0200

#1510545 — Re: [PATCH] EDAC: expose per-dimm error counts in sysfs

FromBorislav Petkov <bp@alien8.de>
Date2016-10-27 20:10 +0200
SubjectRe: [PATCH] EDAC: expose per-dimm error counts in sysfs
Message-ID<swXhM-5la-25@gated-at.bofh.it>
On Tue, Oct 25, 2016 at 04:25:51PM -0700, Aaron Miller wrote:

<--- This patch needs a commit message.

Especially as to *why* we need this.

> Signed-off-by: Aaron Miller <aaronmiller@fb.com>
> ---
>  drivers/edac/edac_mc_sysfs.c | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)

Regardless, something's still not right yet:

$ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
$ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
$ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
       ^

$ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject

$ grep . /sys/devices/system/edac/mc/mc0/*count
/sys/devices/system/edac/mc/mc0/ce_count:3
					 ^

/sys/devices/system/edac/mc/mc0/ce_noinfo_count:0
/sys/devices/system/edac/mc/mc0/ue_count:0
/sys/devices/system/edac/mc/mc0/ue_noinfo_count:0

$ grep -r . /sys/devices/system/edac/mc/mc0/dimm*/* 2>/dev/null | grep ce_count
/sys/devices/system/edac/mc/mc0/dimm0/dimm_ce_count:0
/sys/devices/system/edac/mc/mc0/dimm3/dimm_ce_count:0
/sys/devices/system/edac/mc/mc0/dimm6/dimm_ce_count:0
/sys/devices/system/edac/mc/mc0/dimm9/dimm_ce_count:0
						    ^

There should be 3 somewhere in the DIMM counters...

-- 
Regards/Gruss,
    Boris.

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

[toc] | [next] | [standalone]


#1510555

FromMauro Carvalho Chehab <mchehab@s-opensource.com>
Date2016-10-27 20:20 +0200
Message-ID<swXrr-5ri-1@gated-at.bofh.it>
In reply to#1510545
Em Thu, 27 Oct 2016 20:07:16 +0200
Borislav Petkov <bp@alien8.de> escreveu:

> On Tue, Oct 25, 2016 at 04:25:51PM -0700, Aaron Miller wrote:
> 
> <--- This patch needs a commit message.
> 
> Especially as to *why* we need this.

Also, if you're changing the sysfs ABI, you need to update the EDAC
documentation accordingly.

> 
> > Signed-off-by: Aaron Miller <aaronmiller@fb.com>
> > ---
> >  drivers/edac/edac_mc_sysfs.c | 38 ++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 38 insertions(+)  
> 
> Regardless, something's still not right yet:
> 
> $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
> $ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
> $ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
>        ^
> 
> $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
> 
> $ grep . /sys/devices/system/edac/mc/mc0/*count
> /sys/devices/system/edac/mc/mc0/ce_count:3
> 					 ^
> 
> /sys/devices/system/edac/mc/mc0/ce_noinfo_count:0
> /sys/devices/system/edac/mc/mc0/ue_count:0
> /sys/devices/system/edac/mc/mc0/ue_noinfo_count:0
> 
> $ grep -r . /sys/devices/system/edac/mc/mc0/dimm*/* 2>/dev/null | grep ce_count
> /sys/devices/system/edac/mc/mc0/dimm0/dimm_ce_count:0
> /sys/devices/system/edac/mc/mc0/dimm3/dimm_ce_count:0
> /sys/devices/system/edac/mc/mc0/dimm6/dimm_ce_count:0
> /sys/devices/system/edac/mc/mc0/dimm9/dimm_ce_count:0
> 						    ^
> 
> There should be 3 somewhere in the DIMM counters...
> 



Thanks,
Mauro

[toc] | [prev] | [next] | [standalone]


#1510685

FromAaron Miller <aaronmiller@fb.com>
Date2016-10-27 23:30 +0200
Message-ID<sx0pk-7fL-7@gated-at.bofh.it>
In reply to#1510545
If your system is like the one I’m testing on, only the channel 0 DIMM slots are populated, and you injected an error for an unpopulated slot, for which no dimmX directory gets created.

In edac_mc_sysfs.c:

    for (i = 0; i < mci->tot_dimms; i++) {
        struct dimm_info *dimm = mci->dimms[i];
        /* Only expose populated DIMMs */
        if (!dimm->nr_pages)
            continue;


I can repro what you saw here: 

$ cd /sys/devices/system/edac/mc/mc0
$ grep . dimm*/*location
dimm0/dimm_location:channel 0 slot 0
dimm3/dimm_location:channel 1 slot 0
dimm6/dimm_location:channel 2 slot 0
dimm9/dimm_location:channel 3 slot 0

$ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
$ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
$ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
$ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
$ cat ce_count
3

$ grep . dimm*/*ce_count
dimm0/dimm_ce_count:0
dimm3/dimm_ce_count:0
dimm6/dimm_ce_count:0
dimm9/dimm_ce_count:0


And I get what I expect for a populated slot:

$ echo 0 > /sys/kernel/debug/edac/mc0/fake_inject_slot
$ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
$ cat ce_count
6

$ grep . dimm*/*ce_count
dimm0/dimm_ce_count:0
dimm3/dimm_ce_count:3
dimm6/dimm_ce_count:0
dimm9/dimm_ce_count:0



On 10/27/16, 11:07 AM, "Borislav Petkov" <bp@alien8.de> wrote:

    On Tue, Oct 25, 2016 at 04:25:51PM -0700, Aaron Miller wrote:
    
    <--- This patch needs a commit message.
    
    Especially as to *why* we need this.
    
    > Signed-off-by: Aaron Miller <aaronmiller@fb.com>
    > ---
    >  drivers/edac/edac_mc_sysfs.c | 38 ++++++++++++++++++++++++++++++++++++++
    >  1 file changed, 38 insertions(+)
    
    Regardless, something's still not right yet:
    
    $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
    $ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
    $ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
           ^
    
    $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
    
    $ grep . /sys/devices/system/edac/mc/mc0/*count
    /sys/devices/system/edac/mc/mc0/ce_count:3
    					 ^
    
    /sys/devices/system/edac/mc/mc0/ce_noinfo_count:0
    /sys/devices/system/edac/mc/mc0/ue_count:0
    /sys/devices/system/edac/mc/mc0/ue_noinfo_count:0
    
    $ grep -r . /sys/devices/system/edac/mc/mc0/dimm*/* 2>/dev/null | grep ce_count
    /sys/devices/system/edac/mc/mc0/dimm0/dimm_ce_count:0
    /sys/devices/system/edac/mc/mc0/dimm3/dimm_ce_count:0
    /sys/devices/system/edac/mc/mc0/dimm6/dimm_ce_count:0
    /sys/devices/system/edac/mc/mc0/dimm9/dimm_ce_count:0
    						    ^
    
    There should be 3 somewhere in the DIMM counters...
    
    -- 
    Regards/Gruss,
        Boris.
    
    ECO tip #101: Trim your mails when you reply.
    

[toc] | [prev] | [next] | [standalone]


#1511018

FromAaron Miller <aaronmiller@fb.com>
Date2016-10-28 12:00 +0200
Message-ID<sxc78-6yE-31@gated-at.bofh.it>
In reply to#1510685
Whoops, I meant only the 0th slot in each channel.

On 10/27/16, 2:23 PM, "Aaron Miller" <aaronmiller@fb.com> wrote:

    If your system is like the one I’m testing on, only the channel 0 DIMM slots are populated, and you injected an error for an unpopulated slot, for which no dimmX directory gets created.
    
    In edac_mc_sysfs.c:
    
        for (i = 0; i < mci->tot_dimms; i++) {
            struct dimm_info *dimm = mci->dimms[i];
            /* Only expose populated DIMMs */
            if (!dimm->nr_pages)
                continue;
    
    
    I can repro what you saw here: 
    
    $ cd /sys/devices/system/edac/mc/mc0
    $ grep . dimm*/*location
    dimm0/dimm_location:channel 0 slot 0
    dimm3/dimm_location:channel 1 slot 0
    dimm6/dimm_location:channel 2 slot 0
    dimm9/dimm_location:channel 3 slot 0
    
    $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
    $ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
    $ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
    $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
    $ cat ce_count
    3
    
    $ grep . dimm*/*ce_count
    dimm0/dimm_ce_count:0
    dimm3/dimm_ce_count:0
    dimm6/dimm_ce_count:0
    dimm9/dimm_ce_count:0
    
    
    And I get what I expect for a populated slot:
    
    $ echo 0 > /sys/kernel/debug/edac/mc0/fake_inject_slot
    $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
    $ cat ce_count
    6
    
    $ grep . dimm*/*ce_count
    dimm0/dimm_ce_count:0
    dimm3/dimm_ce_count:3
    dimm6/dimm_ce_count:0
    dimm9/dimm_ce_count:0
    
    
    
    On 10/27/16, 11:07 AM, "Borislav Petkov" <bp@alien8.de> wrote:
    
        On Tue, Oct 25, 2016 at 04:25:51PM -0700, Aaron Miller wrote:
        
        <--- This patch needs a commit message.
        
        Especially as to *why* we need this.
        
        > Signed-off-by: Aaron Miller <aaronmiller@fb.com>
        > ---
        >  drivers/edac/edac_mc_sysfs.c | 38 ++++++++++++++++++++++++++++++++++++++
        >  1 file changed, 38 insertions(+)
        
        Regardless, something's still not right yet:
        
        $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject_channel
        $ echo 2 > /sys/kernel/debug/edac/mc0/fake_inject_slot
        $ echo 3 > /sys/kernel/debug/edac/mc0/fake_inject_count
               ^
        
        $ echo 1 > /sys/kernel/debug/edac/mc0/fake_inject
        
        $ grep . /sys/devices/system/edac/mc/mc0/*count
        /sys/devices/system/edac/mc/mc0/ce_count:3
        					 ^
        
        /sys/devices/system/edac/mc/mc0/ce_noinfo_count:0
        /sys/devices/system/edac/mc/mc0/ue_count:0
        /sys/devices/system/edac/mc/mc0/ue_noinfo_count:0
        
        $ grep -r . /sys/devices/system/edac/mc/mc0/dimm*/* 2>/dev/null | grep ce_count
        /sys/devices/system/edac/mc/mc0/dimm0/dimm_ce_count:0
        /sys/devices/system/edac/mc/mc0/dimm3/dimm_ce_count:0
        /sys/devices/system/edac/mc/mc0/dimm6/dimm_ce_count:0
        /sys/devices/system/edac/mc/mc0/dimm9/dimm_ce_count:0
        						    ^
        
        There should be 3 somewhere in the DIMM counters...
        
        -- 
        Regards/Gruss,
            Boris.
        
        ECO tip #101: Trim your mails when you reply.
        
    
    

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web