From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Borislav Petkov <bp@amd64.org>, Greg KH <gregkh@linuxfoundation.org>
Cc: Linux Edac Mailing List <linux-edac@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/6] Add a per-dimm structure
Date: Fri, 16 Mar 2012 11:07:10 -0300 [thread overview]
Message-ID: <4F63490E.3040500@redhat.com> (raw)
In-Reply-To: <4F632D16.1090200@redhat.com>
Em 16-03-2012 09:07, Mauro Carvalho Chehab escreveu:
> Em 16-03-2012 08:15, Borislav Petkov escreveu:
>> Lemme save you all the trouble:
...
> Anyway, I wrote the patches for it already after Greg's email.
> I'm just about to test them.
And they're already working.
The patches are (will be, after mirror sync) at:
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git hw_events_v8
There are just two new patches on it (and some bug fix patches got fold
to simplify their review):
c316427 edac: preserve the current EDAC sysfs API on a separate file
- Just copies the edac_mc_sysfs.c as edac_mc_sysfs_legacy.c,
in order to preserve the ABI before the changes;
22790f1 edac: Convert edac mc to use struct device
- Fixes edac_mc_sysfs_legacy.c with the changes at the struct,
and converts edac_mc_sysfs to use struct device.
There are still a few adjustments to do, so this is not a final version,
but the patch is already doing what's expected.
I decided to code the ras functions it as a new class, under:
/sys/class/ras
I didn't convert yet the code that creates the CE/UE error counters
per rank/dimm/branch/csrow, as it will need some changes. The code is
also creating a "power" subdir, of course, this is uneeded/unwanted,
but the basic stuff is already there:
$ tree /sys/class/ras
/sys/class/ras
├── mc0 -> ../../devices/pci0000:3f/0000:3f:03.0/ras/mc0
├── rank0 -> ../../devices/pci0000:3f/0000:3f:03.0/ras/mc0/rank0
├── rank1 -> ../../devices/pci0000:3f/0000:3f:03.0/ras/mc0/rank1
├── rank3 -> ../../devices/pci0000:3f/0000:3f:03.0/ras/mc0/rank3
└── rank6 -> ../../devices/pci0000:3f/0000:3f:03.0/ras/mc0/rank6
$ tree /sys/class/ras/mc0
/sys/class/ras/mc0
├── ce_count
├── ce_noinfo_count
├── device -> ../../../0000:3f:03.0
├── fake_inject
├── max_location
├── mc_name
├── power
│ ├── async
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_kids
│ ├── runtime_active_time
│ ├── runtime_enabled
│ ├── runtime_status
│ ├── runtime_suspended_time
│ └── runtime_usage
├── rank0
│ ├── device -> ../../mc0
│ ├── dimm_dev_type
│ ├── dimm_edac_mode
│ ├── dimm_label
│ ├── dimm_location
│ ├── dimm_mem_type
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── size
│ ├── subsystem -> ../../../../../../class/ras
│ └── uevent
├── rank1
│ ├── device -> ../../mc0
│ ├── dimm_dev_type
│ ├── dimm_edac_mode
│ ├── dimm_label
│ ├── dimm_location
│ ├── dimm_mem_type
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── size
│ ├── subsystem -> ../../../../../../class/ras
│ └── uevent
├── rank3
│ ├── device -> ../../mc0
│ ├── dimm_dev_type
│ ├── dimm_edac_mode
│ ├── dimm_label
│ ├── dimm_location
│ ├── dimm_mem_type
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── size
│ ├── subsystem -> ../../../../../../class/ras
│ └── uevent
├── rank6
│ ├── device -> ../../mc0
│ ├── dimm_dev_type
│ ├── dimm_edac_mode
│ ├── dimm_label
│ ├── dimm_location
│ ├── dimm_mem_type
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── size
│ ├── subsystem -> ../../../../../../class/ras
│ └── uevent
├── reset_counters
├── sdram_scrub_rate
├── seconds_since_reset
├── size_mb
├── subsystem -> ../../../../../class/ras
├── ue_count
├── ue_noinfo_count
└── uevent
19 directories, 85 files
The legacy API is also there, just like it was
before the entire patchset:
$ tree /sys/devices/system/edac/
/sys/devices/system/edac/
├── mc
│ └── mc0
│ ├── all_channel_counts
│ │ ├── udimm0
│ │ ├── udimm1
│ │ └── udimm2
│ ├── ce_count
│ ├── ce_noinfo_count
│ ├── csrow0
│ │ ├── ce_count
│ │ ├── ch0_ce_count
│ │ ├── ch0_dimm_label
│ │ ├── ch1_ce_count
│ │ ├── ch1_dimm_label
│ │ ├── ch2_ce_count
│ │ ├── ch2_dimm_label
│ │ ├── dev_type
│ │ ├── edac_mode
│ │ ├── mem_type
│ │ ├── size_mb
│ │ └── ue_count
│ ├── csrow1
│ │ ├── ce_count
│ │ ├── ch0_ce_count
│ │ ├── ch0_dimm_label
│ │ ├── ch1_ce_count
│ │ ├── ch1_dimm_label
│ │ ├── ch2_ce_count
│ │ ├── ch2_dimm_label
│ │ ├── dev_type
│ │ ├── edac_mode
│ │ ├── mem_type
│ │ ├── size_mb
│ │ └── ue_count
│ ├── csrow2
│ │ ├── ce_count
│ │ ├── ch0_ce_count
│ │ ├── ch0_dimm_label
│ │ ├── ch1_ce_count
│ │ ├── ch1_dimm_label
│ │ ├── ch2_ce_count
│ │ ├── ch2_dimm_label
│ │ ├── dev_type
│ │ ├── edac_mode
│ │ ├── mem_type
│ │ ├── size_mb
│ │ └── ue_count
│ ├── device -> ../../../../pci0000:3f/0000:3f:03.0
│ ├── inject_addrmatch
│ │ ├── bank
│ │ ├── channel
│ │ ├── col
│ │ ├── dimm
│ │ ├── page
│ │ └── rank
│ ├── inject_eccmask
│ ├── inject_enable
│ ├── inject_section
│ ├── inject_type
│ ├── mc_name
│ ├── reset_counters
│ ├── sdram_scrub_rate
│ ├── seconds_since_reset
│ ├── size_mb
│ ├── ue_count
│ └── ue_noinfo_count
└── pci
├── check_pci_errors
├── edac_pci_log_npe
├── edac_pci_log_pe
├── edac_pci_panic_on_pe
├── pci0
│ ├── device -> ../../../../pci0000:3f/0000:3f:03.0
│ ├── npe_count
│ └── pe_count
├── pci_nonparity_count
└── pci_parity_count
11 directories, 66 files
next prev parent reply other threads:[~2012-03-16 14:07 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-07 11:40 [PATCH 0/6] Add a per-dimm structure Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 1/6] edac: Create a dimm struct and move the labels into it Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 2/6] edac: Add per dimm's sysfs nodes Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 3/6] edac: move dimm properties to struct memset_info Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 4/6] edac: Don't initialize csrow's first_page & friends when not needed Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 5/6] edac: move nr_pages to dimm struct Mauro Carvalho Chehab
2012-03-07 11:40 ` [PATCH 6/6] edac: Add per-dimm sysfs show nodes Mauro Carvalho Chehab
2012-03-08 21:57 ` [PATCH 0/6] Add a per-dimm structure Borislav Petkov
2012-03-09 10:32 ` Mauro Carvalho Chehab
2012-03-09 14:38 ` Borislav Petkov
2012-03-09 16:40 ` Mauro Carvalho Chehab
2012-03-09 18:47 ` Borislav Petkov
2012-03-09 19:46 ` Mauro Carvalho Chehab
2012-03-11 11:34 ` Borislav Petkov
2012-03-11 12:32 ` Mauro Carvalho Chehab
2012-03-12 16:39 ` Borislav Petkov
2012-03-12 17:03 ` Luck, Tony
2012-03-12 18:10 ` Borislav Petkov
2012-03-13 23:32 ` Greg KH
2012-03-14 19:35 ` Mauro Carvalho Chehab
2012-03-14 20:43 ` Greg KH
2012-03-14 22:20 ` Mauro Carvalho Chehab
2012-03-14 23:32 ` Greg KH
2012-03-15 2:22 ` Mauro Carvalho Chehab
2012-03-15 15:00 ` Greg KH
2012-03-14 22:31 ` Borislav Petkov
2012-03-14 22:40 ` Greg KH
2012-03-15 1:37 ` Mauro Carvalho Chehab
2012-03-15 1:44 ` Mauro Carvalho Chehab
2012-03-15 11:31 ` Borislav Petkov
2012-03-15 12:40 ` Mauro Carvalho Chehab
2012-03-15 21:38 ` Borislav Petkov
2012-03-16 8:47 ` Mauro Carvalho Chehab
2012-03-16 11:15 ` Borislav Petkov
2012-03-16 12:07 ` Mauro Carvalho Chehab
2012-03-16 14:07 ` Mauro Carvalho Chehab [this message]
2012-03-16 15:31 ` Greg KH
2012-03-16 16:54 ` Borislav Petkov
2012-03-16 15:30 ` Greg KH
2012-03-16 15:44 ` Mauro Carvalho Chehab
2012-03-16 16:01 ` Greg KH
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=4F63490E.3040500@redhat.com \
--to=mchehab@redhat.com \
--cc=bp@amd64.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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.