Re: [RFC V2 37/37] Add documentation for dmemfs
From: Randy Dunlap <hidden>
Date: 2020-12-24 18:29:10
Also in:
kvm, linux-fsdevel, lkml
Hi, On 12/7/20 3:31 AM, yulei.kernel@gmail.com wrote:
quoted hunk ↗ jump to hunk
From: Yulei Zhang <redacted> Introduce dmemfs.rst to document the basic usage of dmemfs. Signed-off-by: Yulei Zhang <redacted> --- Documentation/filesystems/dmemfs.rst | 58 ++++++++++++++++++++++++++++++++++++ Documentation/filesystems/index.rst | 1 + 2 files changed, 59 insertions(+) create mode 100644 Documentation/filesystems/dmemfs.rstdiff --git a/Documentation/filesystems/dmemfs.rst b/Documentation/filesystems/dmemfs.rst new file mode 100644 index 00000000..f13ed0c --- /dev/null +++ b/Documentation/filesystems/dmemfs.rst@@ -0,0 +1,58 @@ +.. SPDX-License-Identifier: GPL-2.0 + +===================================== +The Direct Memory Filesystem - DMEMFS +===================================== + + +.. Table of contents + + - Overview + - Compilation + - Usage + +Overview +======== + +Dmemfs (Direct Memory filesystem) is device memory or reserved +memory based filesystem. This kind of memory is special as it +is not managed by kernel and it is without 'struct page'. Therefore +it can save extra memory from the host system for various usage,
usages,
or uses,
+especially for guest virtual machines. + +It uses a kernel boot parameter ``dmem=`` to reserve the system +memory when the host system boots up, the details can be checked
boots up. The detail
+in /Documentation/admin-guide/kernel-parameters.txt. + +Compilation +=========== + +The filesystem should be enabled by turning on the kernel configuration +options:: + + CONFIG_DMEM_FS - Direct Memory filesystem support + CONFIG_DMEM - Allow reservation of memory for dmem
Would anyone want DMEM_FS without DMEM?
+ + +Additionally, the following can be turned on to aid debugging:: + + CONFIG_DMEM_DEBUG_FS - Enable debug information for dmem + +Usage +======== + +Dmemfs supports mapping ``4K``, ``2M`` and ``1G`` size of pages to
sizes
+the userspace, for example ::
userspace. For example::
+ + # mount -t dmemfs none -o pagesize=4K /mnt/ + +The it can create the backing storage with 4G size ::
Then
+ + # truncate /mnt/dmemfs-uuid --size 4G + +To use as backing storage for virtual machine starts with qemu, just need
started with qemu, just specify
the memory-backed-file
+to specify the memory-backed-file in the qemu command line like this :: + + # -object memory-backend-file,id=ram-node0,mem-path=/mnt/dmemfs-uuid \
backed
+ share=yes,size=4G,host-nodes=0,policy=preferred -numa node,nodeid=0,memdev=ram-node0 +
-- ~Randy