From: "Luck, Tony" <tony.luck@intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Cong Wang <xiyou.wangcong@gmail.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] RAS/CEC: Add debugfs switch to disable at run time
Date: Mon, 22 Apr 2019 10:44:15 -0700 [thread overview]
Message-ID: <20190422174415.GA21890@agluck-desk> (raw)
In-Reply-To: <20190422171532.GH21457@zn.tnic>
On Mon, Apr 22, 2019 at 07:15:32PM +0200, Borislav Petkov wrote:
> On Mon, Apr 22, 2019 at 03:59:16PM +0000, Luck, Tony wrote:
> > > Err, this all sounds to me like the storm detection code should
> > > *automatically* disable the CEC in such cases, I'd say.
> >
> > Sounds good. But we should distinguish storms that have many different
> > addresses from storms that just ping a few addresses. CEC will see counts
> > hit the threshold in the latter case, but it might not be able to take the pages
> > offline (because they are locked, or in-use by kernel).
> >
> > So I think the change might be to the return value from NOTIFY_STOP to NOTIFY_DONE
> > ... but only if we are in the middle of a storm AND the CEC array is full.
>
> Well, regardless of this specific use case, isn't that a generic enough
> action that we should do always? I mean, the aspect of falling back to
> logging to external agent.
Yes. Automating this would be a very good idea.
> However, currently we don't signal that the CEC is full - we simply
> remove the LRU element in cec_add_elem() before we insert the new one.
>
> We can either return a specific retval to say, CEC is full and we had to
> delete an elem or we can add a cec_is_full() accessor...
A lot depends on why the CEC is full, and which entry is being
deleted to make room.
In the case of many errors at different addresses we are deleting
the entry with the lowest count. But all of the entries have low
counts because we are just thrashing the array with many different
addresses. In this situation a warning would be helpful.
But in the case where the system has been up for months and
we very slowly accumlated logs of bit flips. The periodic
spring cleaning means they all have generation "00", but
we never actually drop an old entry because of age. In this
case dropping one entry to make space for a new one is fine
and doesn't need any action.
Perhaps we can distinguish the cases by the generation? If
we are dropping an entry that was recently added, then it
will still have generation "11" (or at least not "00").
Use that to trigger an action?
-Tony
next prev parent reply other threads:[~2019-04-22 17:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-18 22:02 [PATCH] RAS/CEC: Add debugfs switch to disable at run time Tony Luck
2019-04-18 22:51 ` Cong Wang
2019-04-18 23:29 ` Borislav Petkov
2019-04-18 23:58 ` Cong Wang
2019-04-19 0:26 ` Borislav Petkov
2019-04-20 5:43 ` Cong Wang
2019-04-20 9:13 ` Borislav Petkov
2019-04-20 18:18 ` Cong Wang
2019-04-20 18:47 ` Borislav Petkov
2019-04-20 19:08 ` Cong Wang
2019-04-22 16:29 ` Luck, Tony
2019-04-22 16:31 ` Borislav Petkov
2019-04-22 16:43 ` Luck, Tony
2019-04-22 17:05 ` Borislav Petkov
2019-04-22 17:23 ` Luck, Tony
2019-04-19 0:07 ` Luck, Tony
2019-04-19 0:29 ` Borislav Petkov
2019-04-19 15:04 ` Luck, Tony
2019-04-20 9:41 ` Borislav Petkov
2019-04-22 15:59 ` Luck, Tony
2019-04-22 17:15 ` Borislav Petkov
2019-04-22 17:44 ` Luck, Tony [this message]
2019-04-22 18:08 ` Borislav Petkov
2019-04-20 5:50 ` Cong Wang
2019-04-20 19:50 ` 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=20190422174415.GA21890@agluck-desk \
--to=tony.luck@intel.com \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=xiyou.wangcong@gmail.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