qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 09/12] util/mmap-alloc: Pass flags instead of separate boo


From: Peter Xu
Subject: Re: [PATCH v3 09/12] util/mmap-alloc: Pass flags instead of separate bools to qemu_ram_mmap()
Date: Tue, 9 Mar 2021 15:04:51 -0500

On Mon, Mar 08, 2021 at 04:05:57PM +0100, David Hildenbrand wrote:
> Let's introduce a new set of flags that abstract mmap logic and replace
> our current set of bools, to prepare for another flag.
> 
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  include/qemu/mmap-alloc.h | 17 +++++++++++------
>  softmmu/physmem.c         |  8 +++++---
>  util/mmap-alloc.c         | 14 +++++++-------
>  util/oslib-posix.c        |  3 ++-
>  4 files changed, 25 insertions(+), 17 deletions(-)
> 
> diff --git a/include/qemu/mmap-alloc.h b/include/qemu/mmap-alloc.h
> index 456ff87df1..55664ea9f3 100644
> --- a/include/qemu/mmap-alloc.h
> +++ b/include/qemu/mmap-alloc.h
> @@ -6,6 +6,15 @@ size_t qemu_fd_getpagesize(int fd);
>  
>  size_t qemu_mempath_getpagesize(const char *mem_path);
>  
> +/* Map PROT_READ instead of PROT_READ|PROT_WRITE. */
> +#define QEMU_RAM_MMAP_READONLY      (1 << 0)
> +
> +/* Map MAP_SHARED instead of MAP_PRIVATE. */
> +#define QEMU_RAM_MMAP_SHARED        (1 << 1)
> +
> +/* Map MAP_SYNC|MAP_SHARED_VALIDATE if possible, fallback and warn 
> otherwise. */
> +#define QEMU_RAM_MMAP_PMEM          (1 << 2)

Sorry to speak late - I just noticed that is_pmem can actually be converted too
with "MAP_SYNC | MAP_SHARED_VALIDATE".  We can even define MAP_PMEM_EXTRA for
use within qemu if we want.  Then we can avoid one layer of QEMU_RAM_* by
directly using MAP_*, I think?

-- 
Peter Xu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]