[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 03/14] mm: Introduce memfile_notifier
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v7 03/14] mm: Introduce memfile_notifier |
Date: |
Fri, 5 Aug 2022 15:22:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
On 06.07.22 10:20, Chao Peng wrote:
> This patch introduces memfile_notifier facility so existing memory file
> subsystems (e.g. tmpfs/hugetlbfs) can provide memory pages to allow a
> third kernel component to make use of memory bookmarked in the memory
> file and gets notified when the pages in the memory file become
> invalidated.
Stupid question, but why is this called "memfile_notifier" and not
"memfd_notifier". We're only dealing with memfd's after all ... which
are anonymous files essentially. Or what am I missing? Are there any
other plans for fs than plain memfd support that I am not aware of?
>
> It will be used for KVM to use a file descriptor as the guest memory
> backing store and KVM will use this memfile_notifier interface to
> interact with memory file subsystems. In the future there might be other
> consumers (e.g. VFIO with encrypted device memory).
>
> It consists below components:
> - memfile_backing_store: Each supported memory file subsystem can be
> implemented as a memory backing store which bookmarks memory and
> provides callbacks for other kernel systems (memfile_notifier
> consumers) to interact with.
> - memfile_notifier: memfile_notifier consumers defines callbacks and
> associate them to a file using memfile_register_notifier().
> - memfile_node: A memfile_node is associated with the file (inode) from
> the backing store and includes feature flags and a list of registered
> memfile_notifier for notifying.
>
> In KVM usages, userspace is in charge of guest memory lifecycle: it first
> allocates pages in memory backing store and then passes the fd to KVM and
> lets KVM register memory slot to memory backing store via
> memfile_register_notifier.
Can we add documentation/description in any form how the different
functions exposed in linux/memfile_notifier.h are supposed to be used?
Staring at memfile_node_set_flags() and memfile_notifier_invalidate()
it's not immediately clear to me who's supposed to call that and under
which conditions.
--
Thanks,
David / dhildenb
- Re: [PATCH v7 03/14] mm: Introduce memfile_notifier,
David Hildenbrand <=