The increased number of messages (spec_ctrl.c:print_details()) within a
certain time window made me notice some slowness of boot time screen
output. Experimentally I've narrowed the time window to be from
immediately after the early ucode update on the BSP to the PAT write in
cpu_init(). For that reason, as a workaround, write PAT with its
designated value immediately after the ucode load.

Similar slowness cannot be observed on APs.

Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
RFC dropped, but still: Preferably to be confirmed by AMD.
---
v2: Re-base.

--- a/xen/arch/x86/microcode_amd.c
+++ b/xen/arch/x86/microcode_amd.c
@@ -226,6 +226,13 @@ static int apply_microcode(unsigned int
         return -EIO;
     }
 
+    /*
+     * Experimentally this helps with performance issues on at least certain
+     * Fam15 models. Oddly enough only the BSP is affected, but to be on the
+     * safe side, do the write uniformly.
+     */
+    wrmsrl(MSR_IA32_CR_PAT, XEN_MSR_PAT);
+
     printk(KERN_WARNING "microcode: CPU%d updated from revision %#x to %#x\n",
            cpu, uci->cpu_sig.rev, hdr->patch_id);
 





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to