Author: kib Date: Fri May 17 17:11:01 2019 New Revision: 347931 URL: https://svnweb.freebsd.org/changeset/base/347931
Log: Free microcode memory later. With lockless DI, pmap_remove() requires operational thread lock, which is initialized at SI_SUB_RUN_QUEUE for thread0. Move it even later where APs are started, the moment after which other boot memory like trampoline stacks is already being freed. Reported by: gtetlow Sponsored by: The FreeBSD Foundation MFC after: 30 days Modified: head/sys/x86/x86/ucode.c Modified: head/sys/x86/x86/ucode.c ============================================================================== --- head/sys/x86/x86/ucode.c Fri May 17 17:05:16 2019 (r347930) +++ head/sys/x86/x86/ucode.c Fri May 17 17:11:01 2019 (r347931) @@ -260,7 +260,7 @@ restart: goto restart; } } -SYSINIT(ucode_release, SI_SUB_KMEM + 1, SI_ORDER_ANY, ucode_release, NULL); +SYSINIT(ucode_release, SI_SUB_SMP + 1, SI_ORDER_ANY, ucode_release, NULL); void ucode_load_ap(int cpu) _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"