Messages in this thread | | | From | "Luck, Tony" <> | Subject | [PATCH v2 0/6] x86/intel_rdt: Better diagnostics | Date | Mon, 25 Sep 2017 16:39:32 -0700 |
| |
From: Tony Luck <tony.luck@intel.com>
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
| |