summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/uts/common/os/main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr/src/uts/common/os/main.c b/usr/src/uts/common/os/main.c
index aa58118e48..3579053899 100644
--- a/usr/src/uts/common/os/main.c
+++ b/usr/src/uts/common/os/main.c
@@ -519,6 +519,14 @@ main(void)
audit_init();
/*
+ * Start the periodic hash rescale for all vmem arenas before we load
+ * protocol modules and drivers via strplumb() below. Some drivers
+ * might rely on heavy vmem operations that could hurt performance
+ * without the rescale.
+ */
+ vmem_update(NULL);
+
+ /*
* Plumb the protocol modules and drivers only if we are not
* networked booted, in this case we already did it in rootconf().
*/
@@ -605,7 +613,6 @@ main(void)
* Any per cpu initialization is done here.
*/
kmem_mp_init();
- vmem_update(NULL);
clock_tick_init_post();