Page MenuHomeFreeBSD

nvdimm(4): Prototype real basic NVDIMM-N health info
AbandonedPublic

Authored by cem on Feb 7 2020, 7:18 AM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 22 2024, 9:07 AM
Unknown Object (File)
Nov 9 2023, 1:56 PM
Unknown Object (File)
Nov 3 2023, 5:13 AM
Unknown Object (File)
Oct 8 2023, 12:50 PM
Unknown Object (File)
Oct 1 2023, 5:14 AM
Unknown Object (File)
Sep 29 2023, 6:01 AM
Unknown Object (File)
Sep 28 2023, 11:35 PM
Unknown Object (File)
Sep 3 2023, 2:57 PM
Subscribers

Details

Reviewers
rpokala
Summary

For Microsoft-style NVDIMMs,
https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/-dsm-interface-for-byte-addressable-energy-backed-function-class--function-interface-1-

I didn't write most of this, really, but ripped it out of our codebase and
adapted it to the FreeBSD nvdimm(4) driver.

Submitted by: Deepak Veliath <dveliath AT isilon.com> (earlier version)

Test Plan

Note, this is real basic. The ACPI event handler posts devd notifications on health events.

The two detailed health information functions aren't hooked in to anything
(nvdimm_get_critical_health_info, nvdimm_get_health_info).

Hopefully this gives you enough to play with and get something worth slapping
in the tree. Or at least as a launching point towards something tree-worthy.

This compiles but is otherwise completely untested. I didn't look at your ACPI
dump yet for comparison, even.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 29220
Build 27144: arc lint + arc unit

Event Timeline

WIP, I'm in progress of drafting a private email response as well.

sys/dev/nvdimm/nvdimm.c
58–59

This looks like the proper way to define these UUIDs. I did not look to see how nvdimm.c already uses this DSM. Note the duplicate definition in nvdimm_leaf_dsm_guid in nvdimm_dsm.c; I would suggest converting the raw definitions in nvdimm_dsm.c to uuid, moving intel_nvdimm_dsm_uuid to that file, adding an extern declaration for it in nvdimm_dsm.h, and also figuring out what overlap there is and if maybe some code should move from one of the two files to the other.

cem added a subscriber: bdrewery.

(Just FYI, Bryan. If there's interested in upstreaming this stuff to the FreeBSD nvdimm layer and eventually rebasing Isilon's nvdimm journal on nvdimm(4), this might be a place to start.)

This comment was removed by rpokala.