[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5edd67d3-e16e-5696-57b4-a9514aa6de63@intel.com>
Date: Tue, 1 Nov 2022 16:27:12 -0700
From: "Joseph, Jithu" <jithu.joseph@...el.com>
To: Sohil Mehta <sohil.mehta@...el.com>, <hdegoede@...hat.com>,
<markgross@...nel.org>
CC: <tglx@...utronix.de>, <mingo@...hat.com>, <bp@...en8.de>,
<dave.hansen@...ux.intel.com>, <x86@...nel.org>, <hpa@...or.com>,
<gregkh@...uxfoundation.org>, <ashok.raj@...el.com>,
<tony.luck@...el.com>, <linux-kernel@...r.kernel.org>,
<platform-driver-x86@...r.kernel.org>, <patches@...ts.linux.dev>,
<ravi.v.shankar@...el.com>, <thiago.macieira@...el.com>,
<athenas.jimenez.gonzalez@...el.com>
Subject: Re: [PATCH 12/14] platform/x86/intel/ifs: Add current_batch sysfs
entry
On 11/1/2022 3:26 PM, Sohil Mehta wrote:
> On 10/21/2022 1:34 PM, Jithu Joseph wrote:
>> Initial implementation assumed a single IFS test image file with a
>> fixed name ff-mm-ss.scan. (where ff, mm, ss refers to family, model
>> and stepping of the core)
>>
>> Subsequently, it became evident that supporting more than one
>> test image file is needed to provide more comprehensive
>> test coverage. (Test coverage in this scenario refers to testing
>> more transistors in the core to identify faults)
>>
>> The other alternative of increasing the size of a single scan test image
>> file would not work as the upper bound is limited by the size of memory
>> area reserved by BIOS for loading IFS test image.
>>
>> Introduce "current_batch" file which accepts a number. Writing a
>> number to the current_batch file would load the test image file by name
>> ff-mm-ss-<xy>.scan, where <xy> is the number written to the
>> "current_batch" file in hex.
>
> Any specific reasoning why the name "current_batch" was chosen? To me, batch seems to suggest multiple or a group of files. But in reality only one test file is loaded at a time.
There would be a batch of test files (6 in the e.g described in the commit message). At a time you can load one by writing its suffix into "current_batch". So "current_batch" was more like a short form for "current_file_in_the_batch_of_files"
>
> Naming can sometimes be quite subjective so it might be useful to get multiple opinions here.
>
> As per my understanding, there is sysfs file called run_test which runs a loaded test. Instead of current_batch how about the name load_test (or maybe current_test)?
Each file would contain multiple tests. All these tests contained within a file would be executed when you write 1 to "runtest".
Given this load_test too would be confusing (more appropriate than "load_test" would be "load_test_file" or "load_file" or "current_file")
>
> load_test - Write a number less than or equal to 0xff to load an IFS test image. (Description as-is from the documentation patch)
>
>
>> * Running tests
>> * -------------
>> @@ -207,6 +217,7 @@ struct ifs_data {
>> int status;
>> u64 scan_details;
>> int cur_batch;
>> + int test_num;
>> };
>> struct ifs_work {
>> diff --git a/drivers/platform/x86/intel/ifs/core.c b/drivers/platform/x86/intel/ifs/core.c
>> index 5fb7f655c291..1f040837e8eb 100644
>> --- a/drivers/platform/x86/intel/ifs/core.c
>> +++ b/drivers/platform/x86/intel/ifs/core.c
>> @@ -22,6 +22,7 @@ MODULE_DEVICE_TABLE(x86cpu, ifs_cpu_ids);
>> static struct ifs_device ifs_device = {
>> .data = {
>> .integrity_cap_bit = MSR_INTEGRITY_CAPS_PERIODIC_BIST_BIT,
>> + .test_num = 0,
>
> Is this initialization really needed? Wouldn't it default to 0?
>
Not strictly needed when we have a single test
> Maybe if you explain what does test_num refer to it might answer the above?
It is currently used to form the path in ifs_load_firmware() for the test image to be loaded
>
>
>> +static ssize_t current_batch_show(struct device *dev,
>> + struct device_attribute *attr, char *buf)
>> +{
>> + struct ifs_data *ifsd = ifs_get_data(dev);
>> +
>> + if (!ifsd->loaded)
>> + return sysfs_emit(buf, "%s\n", "none");
>
> Why not:
>
> sysfs_emit(buf, "none\n");
Will change
Jithu
Powered by blists - more mailing lists