ndctl-wait-scrub - Man Page

wait for an Address Range Scrub (ARS) operation to complete

Synopsis

ndctl wait-scrub [<bus-id> <bus-id2> ... <bus-idN>] [<options>]

Description

NVDIMM Address Range Scrub is a capability provided by platform firmware that allows for the discovery of memory errors by system software. It enables system software to pre-emptively avoid accesses that could lead to uncorrectable memory error handling events, and it otherwise allows memory errors to be enumerated.

The kernel provides a POLL(2) capable sysfs file (scrub) to indicate the state of ARS. The scrub file maintains a running count of ARS runs that have taken place. While a current run is in progress a + character is emitted along with the current count. The ndctl wait-scrub operation waits for scrub, across all specified buses, to indicate not in-progress at least once.

Example

Wait for scrub on all nvdimm buses in the system. The json listing report at the end only includes the buses that support ARS operations.

# ndctl wait-scrub
[
  {
    "provider":"nfit_test.1",
    "dev":"ndbus3",
    "scrub_state":"idle"
  },
  {
    "provider":"nfit_test.0",
    "dev":"ndbus2",
    "scrub_state":"idle"
  }
]

When specifying an individual bus, or if there is only one bus in the system, the command reports whether ARS support is available.

# ndctl wait-scrub e820
error waiting for scrub completion: Operation not supported

Options

-v, ā€‰--verbose

Emit debug messages for the ARS wait process

See Also

linkndctl:ndctl-start-scrub[1], ACPI 6.2 Specification Section 9.20.7.2 Address Range Scrubbing (ARS) Overview[1]

Notes

1.

ACPI 6.2 Specification Section 9.20.7.2 Address Range Scrubbing (ARS) Overview
http://www.uefi.org/sites/default/files/resources/ACPI%206_2_A_Sept29.pdf

Info

01/25/2024