diff options
| author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-03-23 19:57:22 +0400 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-04-06 10:50:38 +0200 |
| commit | 8e3b0cbb7212a1e5707ed2d4c26b4e3d2483768d (patch) | |
| tree | fe73195ef7adcea2745f6f31502264157be476c2 /include/qemu/osdep.h | |
| parent | b307e5052d5c09a2bb71b1670c14ca4fc44ea33f (diff) | |
| download | focaccia-qemu-8e3b0cbb7212a1e5707ed2d4c26b4e3d2483768d.tar.gz focaccia-qemu-8e3b0cbb7212a1e5707ed2d4c26b4e3d2483768d.zip | |
Replace qemu_real_host_page variables with inlined functions
Replace the global variables with inlined helper functions. getpagesize() is very likely annotated with a "const" function attribute (at least with glibc), and thus optimization should apply even better. This avoids the need for a constructor initialization too. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220323155743.1585078-12-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qemu/osdep.h')
| -rw-r--r-- | include/qemu/osdep.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 95a14914d1..240b48707e 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -431,9 +431,9 @@ extern int madvise(char *, size_t, int); /* Use 1 MiB (segment size) alignment so gmap can be used by KVM. */ # define QEMU_VMALLOC_ALIGN (256 * 4096) #elif defined(__linux__) && defined(__sparc__) -# define QEMU_VMALLOC_ALIGN MAX(qemu_real_host_page_size, SHMLBA) +# define QEMU_VMALLOC_ALIGN MAX(qemu_real_host_page_size(), SHMLBA) #else -# define QEMU_VMALLOC_ALIGN qemu_real_host_page_size +# define QEMU_VMALLOC_ALIGN qemu_real_host_page_size() #endif #ifdef CONFIG_POSIX @@ -590,8 +590,15 @@ pid_t qemu_fork(Error **errp); /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even * when intptr_t is 32-bit and we are aligning a long long. */ -extern uintptr_t qemu_real_host_page_size; -extern intptr_t qemu_real_host_page_mask; +static inline uintptr_t qemu_real_host_page_size(void) +{ + return getpagesize(); +} + +static inline intptr_t qemu_real_host_page_mask(void) +{ + return -(intptr_t)qemu_real_host_page_size(); +} /* * After using getopt or getopt_long, if you need to parse another set |