Re: [RFC v2 01/43] mm: add PKRAM API stubs and Kconfig

From: Randy Dunlap
Date: Wed Mar 31 2021 - 14:44:58 EST


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.
>
...

>
> Originally-by: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>
> Signed-off-by: Anthony Yznaga <anthony.yznaga@xxxxxxxxxx>
> ---
> 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.c
>
> diff --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