Re: [RFC v2 01/43] mm: add PKRAM API stubs and Kconfig
From: Randy Dunlap <hidden>
Date: 2021-03-31 18:44:58
Also in:
kexec, linux-doc, linux-fsdevel, lkml
On 3/30/21 2:35 PM, Anthony Yznaga wrote:
Preserved-across-kexec memory or PKRAM is a method for saving memory pages of the currently executing kernel and restoring them after kexec boot into a new one. This can be utilized for preserving guest VM state, large in-memory databases, process memory, etc. across reboot. While DRAM-as-PMEM or actual persistent memory could be used to accomplish these things, PKRAM provides the latency of DRAM with the flexibility of dynamically determining the amount of memory to preserve.
...
quoted hunk ↗ jump to hunk
Originally-by: Vladimir Davydov [off-list ref] Signed-off-by: Anthony Yznaga <redacted> --- include/linux/pkram.h | 47 +++++++++++++ mm/Kconfig | 9 +++ mm/Makefile | 1 + mm/pkram.c | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 236 insertions(+) create mode 100644 include/linux/pkram.h create mode 100644 mm/pkram.cdiff --git a/mm/pkram.c b/mm/pkram.c new file mode 100644 index 000000000000..59e4661b2fb7 --- /dev/null +++ b/mm/pkram.c@@ -0,0 +1,179 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <linux/err.h> +#include <linux/gfp.h> +#include <linux/kernel.h> +#include <linux/mm.h> +#include <linux/pkram.h> +#include <linux/types.h> +
Hi, There are several doc blocks that begin with "/**" but that are not in kernel-doc format (/** means kernel-doc format when inside the kernel source tree). Please either change those to "/*" or convert them to kernel-doc format. The latter is preferable for exported interfaces.
+/** + * Create a preserved memory node with name @name and initialize stream @ps + * for saving data to it. + * + * @gfp_mask specifies the memory allocation mask to be used when saving data. + * + * Returns 0 on success, -errno on failure. + * + * After the save has finished, pkram_finish_save() (or pkram_discard_save() in + * case of failure) is to be called. + */
b) from patch 00/43: documentation/core-api/xarray.rst | 8 + How did "documentation" become lower case (instead of Documentation)? thanks. -- ~Randy