^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) LIBNVDIMM Maintainer Entry Profile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) The libnvdimm subsystem manages persistent memory across multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) architectures. The mailing list is tracked by patchwork here:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) https://patchwork.kernel.org/project/linux-nvdimm/list/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) ...and that instance is configured to give feedback to submitters on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) patch acceptance and upstream merge. Patches are merged to either the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 'libnvdimm-fixes' or 'libnvdimm-for-next' branch. Those branches are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) available here:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) In general patches can be submitted against the latest -rc; however, if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) the incoming code change is dependent on other pending changes then the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) patch should be based on the libnvdimm-for-next branch. However, since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) persistent memory sits at the intersection of storage and memory there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) are cases where patches are more suitable to be merged through a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Filesystem or the Memory Management tree. When in doubt copy the nvdimm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) list and the maintainers will help route.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Submissions will be exposed to the kbuild robot for compile regression
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) testing. It helps to get a success notification from that infrastructure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) before submitting, but it is not required.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Submit Checklist Addendum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) -------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) There are unit tests for the subsystem via the ndctl utility:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) https://github.com/pmem/ndctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Those tests need to be passed before the patches go upstream, but not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) necessarily before initial posting. Contact the list if you need help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) getting the test environment set up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) ACPI Device Specific Methods (_DSM)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Before patches enabling a new _DSM family will be considered, it must
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) be assigned a format-interface-code from the NVDIMM Sub-team of the ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Specification Working Group. In general, the stance of the subsystem is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) to push back on the proliferation of NVDIMM command sets, so do strongly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) consider implementing support for an existing command set. See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) drivers/acpi/nfit/nfit.h for the set of supported command sets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Key Cycle Dates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) ---------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) New submissions can be sent at any time, but if they intend to hit the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) next merge window they should be sent before -rc4, and ideally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) stabilized in the libnvdimm-for-next branch by -rc6. Of course if a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) patch set requires more than 2 weeks of review, -rc4 is already too late
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) and some patches may require multiple development cycles to review.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Review Cadence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) --------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) In general, please wait up to one week before pinging for feedback. A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) private mail reminder is preferred. Alternatively ask for other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) developers that have Reviewed-by tags for libnvdimm changes to take a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) look and offer their opinion.