NDCTL-WAIT-SCRUB(1)

πŸ’– NDCTL-WAIT-SCRUB πŸ’–

okay bestie, welcome to the ndctl manual β€” this one's all about ndctl-wait-scrub, the lil command that just… waits. patiently. like a good friend holding your iced coffee while you find your keys. ✨


🌸 NAME 🌸

ndctl-wait-scrub β€” the command that waits for an Address Range Scrub (ARS) operation to finish. no cap, that's literally its whole job. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so. NVDIMM Address Range Scrub is this capability that platform firmware hands you, and it lets system software go hunt down memory errors. it's giving detective energy πŸ”. and why do we care? because it lets system software pre-emptively dodge accesses that could lead to uncorrectable memory error handling events β€” and it also just, like, lets memory errors get enumerated. both things! iconic behaviour, honestly.

meanwhile the kernel is out here providing a POLL(2) capable sysfs file called scrub, which tells you the state of ARS. and the way that scrub file works? it keeps a running count of all the ARS runs that have happened. while a run is currently in progress, a + character gets emitted right alongside the current count. periodt.

and ndctl wait-scrub? it waits for scrub, across all the buses you specified, to say "not in-progress" at least once. just once, bestie. that's the vibe check. 🌈


⭐ EXAMPLE ⭐

Wait for scrub on all nvdimm buses in the system. heads up though β€” the json listing report at the end only includes the buses that actually support ARS operations. no fake friends here. 🫢

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

When you specify an individual bus, or if there's only one bus in the system, the command reports whether ARS support is even available. spoiler: sometimes it's not. 😭

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

πŸ’… OPTIONS πŸ’…

  • -v, --verbose β€” emit debug messages for the ARS wait process. basically the "tell me everything, i want the group chat play-by-play" button. πŸ”₯

Copyright Β© 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2 http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (yes the all-caps NO WARRANTY is doing the most but it means it fr fr πŸ™ˆ)


🌟 SEE ALSO 🌟


okay that's the whole page, you're all caught up πŸ’œ this was ndctl from 2026-07-07 β€” go forth and wait on that scrub, bestie, you got this. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from