[tip:ras/core] RAS/CEC: Dump the different array element sections

From: tip-bot for Borislav Petkov
Date: Sat Jun 08 2019 - 18:57:12 EST


Commit-ID: f57518cd56e2919afbcef3839122a75e291c7f85
Gitweb: https://git.kernel.org/tip/f57518cd56e2919afbcef3839122a75e291c7f85
Author: Borislav Petkov <bp@xxxxxxx>
AuthorDate: Sat, 20 Apr 2019 23:01:03 +0200
Committer: Borislav Petkov <bp@xxxxxxx>
CommitDate: Sat, 8 Jun 2019 17:39:11 +0200

RAS/CEC: Dump the different array element sections

When dumping the array elements, print them in the following format:

[ PFN | generation in binary | count ]

to be perfectly clear what all those sections are.

Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx>
---
drivers/ras/cec.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/ras/cec.c b/drivers/ras/cec.c
index 364f7e1a6bad..dc08c705b493 100644
--- a/drivers/ras/cec.c
+++ b/drivers/ras/cec.c
@@ -429,6 +429,8 @@ static int action_threshold_set(void *data, u64 val)
}
DEFINE_DEBUGFS_ATTRIBUTE(action_threshold_ops, u64_get, action_threshold_set, "%lld\n");

+static const char * const bins[] = { "00", "01", "10", "11" };
+
static int array_dump(struct seq_file *m, void *v)
{
struct ce_array *ca = &ce_arr;
@@ -440,7 +442,8 @@ static int array_dump(struct seq_file *m, void *v)
for (i = 0; i < ca->n; i++) {
u64 this = PFN(ca->array[i]);

- seq_printf(m, " %03d: [%016llx|%03llx]\n", i, this, FULL_COUNT(ca->array[i]));
+ seq_printf(m, " %3d: [%016llx|%s|%03llx]\n",
+ i, this, bins[DECAY(ca->array[i])], COUNT(ca->array[i]));
}

seq_printf(m, "}\n");