Skip to content

NVMe Test Suite - Add NVMe device discovery and identification test #1310

@priyama2

Description

@priyama2

@pevik

Description

Summary

This issue tracks the submission and review of the first NVMe test case (nvme01) for the Linux Test Project. The test provides comprehensive coverage for NVMe device discovery and identification functionality.

Motivation

Currently, LTP lacks dedicated test coverage for NVMe (Non-Volatile Memory Express) devices, which are increasingly common in modern systems. NVMe devices require specific testing for:

  • Device enumeration and discovery
  • Driver binding verification
  • Namespace management
  • I/O operations
  • Multipath configurations

This is the first in a series of patches to add comprehensive NVMe testing support to LTP.

Test Coverage

The nvme01 test case verifies:

  • ✅ Detection of NVMe controllers in the system
  • ✅ Enumeration of NVMe namespaces
  • ✅ PCI bus enumeration verification
  • ✅ Driver binding validation

Implementation Details

  • Test Framework: Uses LTP's tst_test.h framework
  • Language: C
  • Location: testcases/kernel/device-drivers/nvme/
  • Files:
    • nvme01.c (229 lines)
    • Makefile
    • README

Test Results

Tested on:

  • System: ppc64le, RHEL 10
  • Kernel: 6.12.0-210.el10.ppc64le
  • Hardware: Samsung PM1735a NVMe devices
  • Result: All 4 test cases passed (19 individual tests)
nvme01: PASS (4/4 tests)
- Detected 2 NVMe controllers
- Verified PCI enumeration
- Confirmed driver binding
- Enumerated namespaces

Patch Submission

Related Work

This is part of a larger effort to add comprehensive NVMe testing:

  • Patch 1 (this issue): Device Discovery & Identification (nvme01)
  • Patch 2 (future): Namespace Management (nvme02)
  • Patch 3 (future): I/O Operations (nvme03)
  • Patch 4 (future): Multipath & Redundancy (nvme04)

References

Checklist

  • Test follows LTP coding standards
  • Test compiles without errors
  • Test runs successfully on target hardware
  • Documentation (README) included
  • Makefile provided
  • Patch submitted to mailing list
  • Patch reviewed by maintainers
  • Patch accepted and merged

Additional Notes

The test is designed to be non-destructive and can run on production systems. It only performs read operations and device enumeration without modifying any data or configurations.


Author: Priya A (priyama2@linux.ibm.com, priyama2@in.ibm.com)
Signed-off-by: priyama2 priyama2@linux.ibm.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions