[PATCH v2 0/6] x86/intel_rdt: Better diagnostics
From: Luck, Tony
Date: Mon Sep 25 2017 - 19:39:46 EST
From: Tony Luck <tony.luck@xxxxxxxxx>
Chatting online with Boris to diagnose why his test cases for RDT
weren't working, we came up with either a good idea (in which case
I credit Boris) or a dumb one (in which case this is all my fault).
The basic problem is that there aren't many good error codes for
a file system interface to pass back to the user. I'd resisted
adding printk() calls because it is a pain to parse the console
log, doubly so if you want to do it from a shell script that is
actually issuing the commands to RDT.
The answer is to add new file in the "info" directory that gives
the status of the last "command" to RDT (either a mkdir, or a
write to one of the control files).
I used the seq_buf* framework because I initially thought a single
command might result in multiple messages. But currently that isn't
true and we could potentially just use "strcpy()/sprintf()" to a
fixed buffer. I didn't switch to that because the seq_buf* seems
very lightweight and allows for future extra messages while including
checking for exceeding the length of the buffer.
V1->V2: tglx: Add wrappers around functions that clear and append
to the seq_buf to assert that we hold the rdtgroup_mutex
[and drop the diagnostic from the place where we didn't]
Tony Luck (6):
x86/intel_rdt: Add framework for better RDT UI diagnostics
x86/intel_rdt: Add diagnostics when writing the schemata file
x86/intel_rdt: Add diagnostics when writing the tasks file
x86/intel_rdt: Add diagnostics when writing the cpus file
x86/intel_rdt: Add diagnostics when making directories
x86/intel_rdt: Add documentation for "info/last_cmd_status"
Documentation/x86/intel_rdt_ui.txt | 11 +++
arch/x86/kernel/cpu/intel_rdt.h | 7 ++
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 45 ++++++++---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 112 +++++++++++++++++++++++++---
4 files changed, 153 insertions(+), 22 deletions(-)
--
2.11.0