From: "Luck, Tony" <tony.luck@intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Russ Anderson <rja@hpe.com>,
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
Greg KH <gregkh@linuxfoundation.org>,
Justin Ernst <justin.ernst@hpe.com>,
russ.anderson@hpe.com, Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org,
Aristeu Rozanski Filho <arozansk@redhat.com>
Subject: Re: [PATCH] Raise maximum number of memory controllers
Date: Thu, 27 Sep 2018 14:44:01 -0700 [thread overview]
Message-ID: <20180927214400.GA2249@agluck-desk> (raw)
In-Reply-To: <20180927045244.GA30912@zn.tnic>
On Thu, Sep 27, 2018 at 06:52:44AM +0200, Borislav Petkov wrote:
> On Wed, Sep 26, 2018 at 04:02:57PM -0700, Luck, Tony wrote:
> > But ... we are at -rc5. Not sure that we'll figure out, write, test & debug
> > the proper solution in the next 3-4 weeks. So perhaps we should apply
> >
> > -#define EDAC_MAX_MCS 16
> > +#define EDAC_MAX_MCS 64
> >
> > as a temporary band-aid to get HPE's 32-socket machine running while
> > we work on the proper fix?
>
> Yeah, after sleeping on it I see it the same way - band-aid it now and
> clean it up properly later.
The problem with your patch that gets rid of EDAC_MAX_MCS is making
device links under /sys/bus/edac. Which is hinted at in some of the
code your patch deleted:
- /*
- * The memory controller needs its own bus, in order to avoid
- * namespace conflicts at /sys/bus/edac.
- */
- name = kasprintf(GFP_KERNEL, "mc%d", mci->mc_idx);
- if (!name)
- return -ENOMEM;
-
- mci->bus->name = name;
-
- edac_dbg(0, "creating bus %s\n", mci->bus->name);
-
- err = bus_register(mci->bus);
Just to see if there was anything else wrong I added a patch to
make the names unique:
diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
index 2ca2012f2857..6ec6d8a2adb8 100644
--- a/drivers/edac/edac_mc_sysfs.c
+++ b/drivers/edac/edac_mc_sysfs.c
@@ -410,7 +410,7 @@ static int edac_create_csrow_object(struct mem_ctl_info *mci,
device_initialize(&csrow->dev);
csrow->dev.parent = &mci->dev;
csrow->mci = mci;
- dev_set_name(&csrow->dev, "csrow%d", index);
+ dev_set_name(&csrow->dev, "mci%d_csrow%d", mci->mc_idx, index);
dev_set_drvdata(&csrow->dev, csrow);
edac_dbg(0, "creating (virtual) csrow node %s\n",
@@ -641,9 +641,9 @@ static int edac_create_dimm_object(struct mem_ctl_info *mci,
dimm->dev.parent = &mci->dev;
if (mci->csbased)
- dev_set_name(&dimm->dev, "rank%d", index);
+ dev_set_name(&dimm->dev, "mci%d_rank%d", mci->mc_idx, index);
else
- dev_set_name(&dimm->dev, "dimm%d", index);
+ dev_set_name(&dimm->dev, "mci%d_dimm%d", mci->mc_idx, index);
dev_set_drvdata(&dimm->dev, dimm);
pm_runtime_forbid(&mci->dev);
which seemed to work. But then I began wondering what are ABI expectations
from applications that read the EDAC /sys files?
Is this this current source repository? https://github.com/grondo/edac-utils
This code doesn't seem to know about the "dimm*" directories below the
"mc*" level. It just looks for the csrow* entries.
-Tony
next prev parent reply other threads:[~2018-09-27 21:46 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-25 14:34 [PATCH] Raise maximum number of memory controllers Justin Ernst
2018-09-25 15:26 ` Borislav Petkov
2018-09-25 17:50 ` Luck, Tony
2018-09-25 18:07 ` Borislav Petkov
2018-09-26 9:35 ` Borislav Petkov
2018-09-26 15:27 ` Borislav Petkov
2018-09-26 16:03 ` Mauro Carvalho Chehab
2018-09-26 16:17 ` Borislav Petkov
2018-09-26 17:39 ` Mauro Carvalho Chehab
2018-09-26 18:10 ` Luck, Tony
2018-09-26 18:23 ` Russ Anderson
2018-09-26 23:02 ` Luck, Tony
2018-09-27 4:52 ` Borislav Petkov
2018-09-27 21:44 ` Luck, Tony [this message]
2018-09-27 22:03 ` Borislav Petkov
2018-09-28 1:10 ` Mauro Carvalho Chehab
2018-10-01 12:47 ` Borislav Petkov
2018-10-01 22:43 ` [PATCH] EDAC: Don't add devices under /sys/bus/edac Luck, Tony
2018-10-02 1:22 ` Mauro Carvalho Chehab
2018-10-02 15:51 ` Ernst, Justin
2018-10-02 16:26 ` Borislav Petkov
2018-11-06 14:45 ` Borislav Petkov
2018-11-13 19:09 ` Ernst, Justin
2018-11-13 19:15 ` Borislav Petkov
2018-09-26 7:55 ` [PATCH] Raise maximum number of memory controllers Zhuo, Qiuxu
2018-09-26 13:53 ` Russ Anderson
2018-09-26 16:13 ` Aristeu Rozanski
2018-09-27 5:56 ` Borislav Petkov
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=20180927214400.GA2249@agluck-desk \
--to=tony.luck@intel.com \
--cc=arozansk@redhat.com \
--cc=bp@alien8.de \
--cc=gregkh@linuxfoundation.org \
--cc=justin.ernst@hpe.com \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=mchehab@kernel.org \
--cc=rja@hpe.com \
--cc=russ.anderson@hpe.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).