diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2023-02-18 23:37:14 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-20 00:46:36 +0100 |
commit | be318c0f38b6b72a0716edce818b755411e75600 (patch) | |
tree | 76b241932008ccd83f8b8e067a11c99a36b93846 /mach | |
parent | 90ab316b02d496cfaf09396fcc0c9bc58f15a61c (diff) | |
download | glibc-be318c0f38b6b72a0716edce818b755411e75600.zip glibc-be318c0f38b6b72a0716edce818b755411e75600.tar.gz glibc-be318c0f38b6b72a0716edce818b755411e75600.tar.bz2 |
mach: Use PAGE_SIZE
The PAGE_SIZE from the Mach headers statically defines the machine's
page size. There's no need to query it dynamically; furthermore, the
implementation of the vm_statistics () RPC unconditionally fills in
pagesize = PAGE_SIZE;
Not doing the extra RPC shaves off 2 RPCs from the start-up of every
process!
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230218203717.373211-7-bugaevc@gmail.com>
Diffstat (limited to 'mach')
-rw-r--r-- | mach/mach_init.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mach/mach_init.c b/mach/mach_init.c index a0d9f7f..42b9cac 100644 --- a/mach/mach_init.c +++ b/mach/mach_init.c @@ -17,6 +17,7 @@ #include <mach.h> #include <mach/mig_support.h> +#include <mach/vm_param.h> #include <unistd.h> mach_port_t __mach_task_self_; @@ -38,7 +39,10 @@ __mach_init (void) __mach_host_self_ = (__mach_host_self) (); __mig_init (0); -#ifdef HAVE_HOST_PAGE_SIZE +#ifdef PAGE_SIZE + __vm_page_size = PAGE_SIZE; + (void) err; +#elif defined (HAVE_HOST_PAGE_SIZE) if (err = __host_page_size (__mach_host_self (), &__vm_page_size)) _exit (err); #else |