mbox series

[v4,0/4] Add SBAF test to IFS

Message ID 20240801051814.1935149-1-sathyanarayanan.kuppuswamy@linux.intel.com (mailing list archive)
Headers show
Series Add SBAF test to IFS | expand

Message

Kuppuswamy Sathyanarayanan Aug. 1, 2024, 5:18 a.m. UTC
This patch series adds support for Structural Based Functional Test at
Field (SBAF) in the IFS driver. SBAF is a new type of testing that
provides comprehensive core test coverage, complementing existing IFS
tests like Scan at Field (SAF) and ArrayBist. Granite Rapids (GNR) is
the first platform that supports SBAF.

SBAF mimics the manufacturing screening environment and leverages the
same test suite. It makes use of Design For Test (DFT) observation
sites and features to maximize coverage in minimum time.

Similar to the SAF test, SBAF isolates the core under test from the
rest of the system during execution. Upon completion, the core
seamlessly resets to its pre-test state and resumes normal operation.
Any machine checks or hangs encountered during the test are confined to
the isolated core, preventing disruption to the overall system. Like
SAF test, the SBAF test is also divided into multiple batches, and each
batch test can take hundreds of milliseconds (100-200 ms) to complete.
If such a lengthy interruption is undesirable, it is recommended to
relocate the time-sensitive applications to other cores for the
duration of the test.

Patch Details:

Patch 1/4: Refactors MSR usage in IFS image loading code to share the
           code between SBAF and SAF tests.
Patch 2/4: Leverages SAF image loading logic and adds SBAF image loading support.
Patch 3/4: Adds support for user to trigger SBAF test.
Patch 4/4: Adds trace support for SBAF tests.

This series is originally authored by Jithu Joseph. I have made cleanups
related to code reuse between the SBAF and SAF tests and resubmitting it for
review.

Changes since v3:
 * Rebased on top of v6.11-rc1
 * Added missing error return value in validate_ifs_metadata().

Changes since v2:
 * Added Reviewed-by tags from Ilpo and Steven.
 * Fixed minor issues raised by Ilpo.

Changes since v1:
 * Addressed trace struct hole issue (Steven)
 * Fixed initialization issue in ifs_sbaf_test_core() (Ilpo)

Jithu Joseph (3):
  platform/x86/intel/ifs: Add SBAF test image loading support
  platform/x86/intel/ifs: Add SBAF test support
  trace: platform/x86/intel/ifs: Add SBAF trace support

Kuppuswamy Sathyanarayanan (1):
  platform/x86/intel/ifs: Refactor MSR usage in IFS test code

 arch/x86/include/asm/msr-index.h         |   2 +
 drivers/platform/x86/intel/ifs/ifs.h     |  92 ++++++++-
 include/trace/events/intel_ifs.h         |  27 +++
 drivers/platform/x86/intel/ifs/core.c    |  33 ++++
 drivers/platform/x86/intel/ifs/load.c    |  40 ++--
 drivers/platform/x86/intel/ifs/runtest.c | 233 +++++++++++++++++++++++
 6 files changed, 412 insertions(+), 15 deletions(-)

Comments

Hans de Goede Aug. 12, 2024, 3:40 p.m. UTC | #1
Hi,

On 8/1/24 7:18 AM, Kuppuswamy Sathyanarayanan wrote:
> This patch series adds support for Structural Based Functional Test at
> Field (SBAF) in the IFS driver. SBAF is a new type of testing that
> provides comprehensive core test coverage, complementing existing IFS
> tests like Scan at Field (SAF) and ArrayBist. Granite Rapids (GNR) is
> the first platform that supports SBAF.
> 
> SBAF mimics the manufacturing screening environment and leverages the
> same test suite. It makes use of Design For Test (DFT) observation
> sites and features to maximize coverage in minimum time.
> 
> Similar to the SAF test, SBAF isolates the core under test from the
> rest of the system during execution. Upon completion, the core
> seamlessly resets to its pre-test state and resumes normal operation.
> Any machine checks or hangs encountered during the test are confined to
> the isolated core, preventing disruption to the overall system. Like
> SAF test, the SBAF test is also divided into multiple batches, and each
> batch test can take hundreds of milliseconds (100-200 ms) to complete.
> If such a lengthy interruption is undesirable, it is recommended to
> relocate the time-sensitive applications to other cores for the
> duration of the test.

Thank you for your patch-series, I've applied the series to my
review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans


> 
> Patch Details:
> 
> Patch 1/4: Refactors MSR usage in IFS image loading code to share the
>            code between SBAF and SAF tests.
> Patch 2/4: Leverages SAF image loading logic and adds SBAF image loading support.
> Patch 3/4: Adds support for user to trigger SBAF test.
> Patch 4/4: Adds trace support for SBAF tests.
> 
> This series is originally authored by Jithu Joseph. I have made cleanups
> related to code reuse between the SBAF and SAF tests and resubmitting it for
> review.



> 
> Changes since v3:
>  * Rebased on top of v6.11-rc1
>  * Added missing error return value in validate_ifs_metadata().
> 
> Changes since v2:
>  * Added Reviewed-by tags from Ilpo and Steven.
>  * Fixed minor issues raised by Ilpo.
> 
> Changes since v1:
>  * Addressed trace struct hole issue (Steven)
>  * Fixed initialization issue in ifs_sbaf_test_core() (Ilpo)
> 
> Jithu Joseph (3):
>   platform/x86/intel/ifs: Add SBAF test image loading support
>   platform/x86/intel/ifs: Add SBAF test support
>   trace: platform/x86/intel/ifs: Add SBAF trace support
> 
> Kuppuswamy Sathyanarayanan (1):
>   platform/x86/intel/ifs: Refactor MSR usage in IFS test code
> 
>  arch/x86/include/asm/msr-index.h         |   2 +
>  drivers/platform/x86/intel/ifs/ifs.h     |  92 ++++++++-
>  include/trace/events/intel_ifs.h         |  27 +++
>  drivers/platform/x86/intel/ifs/core.c    |  33 ++++
>  drivers/platform/x86/intel/ifs/load.c    |  40 ++--
>  drivers/platform/x86/intel/ifs/runtest.c | 233 +++++++++++++++++++++++
>  6 files changed, 412 insertions(+), 15 deletions(-)
>