summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Telka <marcel@telka.sk>2020-01-29 17:03:43 +0100
committerDan McDonald <danmcd@joyent.com>2020-02-05 10:41:03 -0500
commit948761701ebc8a0cf820a973780b2fbb931c4390 (patch)
treec30cd415efb6f050bcb12a0afef3bbbeb85ffc38
parentcdd7a662d2c0914e93e1daa44cebae7003c99777 (diff)
downloadillumos-joyent-948761701ebc8a0cf820a973780b2fbb931c4390.tar.gz
12262 Suboptimal vmem hash table slows down boot
Reviewed by: Stefan Behrens <sbehrens@giantdisaster.de> Reviewed by: Gergő Mihály Doma <domag02@gmail.com> Approved by: Dan McDonald <danmcd@joyent.com>
-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();