[RFC,6/9] mach: Use PAGE_SIZE
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
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>
---
mach/mach_init.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Comments
Applied, thanks!
Sergey Bugaev, le sam. 18 févr. 2023 23:37:14 +0300, a ecrit:
> 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>
> ---
> mach/mach_init.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/mach/mach_init.c b/mach/mach_init.c
> index a0d9f7f5..42b9cacf 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
> --
> 2.39.2
>
>
@@ -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