Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756790AbeAIW3Z (ORCPT + 1 other); Tue, 9 Jan 2018 17:29:25 -0500 Received: from mail-lf0-f45.google.com ([209.85.215.45]:34602 "EHLO mail-lf0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754791AbeAIW3X (ORCPT ); Tue, 9 Jan 2018 17:29:23 -0500 X-Google-Smtp-Source: ACJfBovjNczVGAnIs5Gt+yqbvF/TcfNbYssQmobwlABZmuxnTTWbA3MsfhtL7pd96xbxGxpIS54jDTRZf4ZKNoX4JAs= MIME-Version: 1.0 From: Gabriel C Date: Tue, 9 Jan 2018 23:28:50 +0100 Message-ID: Subject: AMD EPYC microcode update bug? To: LKML Cc: Borislav Petkov Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hello , I'm testing an EPYC system right now with 2 EPYC 7281 16-Core Processors. I'm on 4.15.0-rc7 and tested an update to microcode_amd_fam17h.bin. First run was made by using the early microcode option with dracut[1] so loading from a initrd. the driver reported 63 updated CPUs while CPU0 got still old microcode. snip crazy@ant:~/fw$ dmesg | grep microcode [ 2.615876] microcode: microcode updated early to new patch_level=0x08001213 [ 2.615906] microcode: CPU0: patch_level=0x08001207 [ 2.615920] microcode: CPU1: patch_level=0x08001213 ... crazy@ant:~/fw$ cat /proc/cpuinfo | head -n 30 processor : 0 vendor_id : AuthenticAMD cpu family : 23 model : 1 model name : AMD EPYC 7281 16-Core Processor stepping : 2 microcode : 0x8001207 .... After reloading the microcode with echo 1 > /sys/devices/system/cpu/microcode/reload CPU0 got new microcode too. Now I tested the same but without initrd early microcode loading and CONFIG_EXTRA_FIRMWARE set like this: CONFIG_EXTRA_FIRMWARE="amd-ucode/microcode_amd.bin amd-ucode/microcode_amd_fam15h.bin amd-ucode/microcode_amd_fam16h.bin amd-ucode/microcode_amd_fam17h.bin" This time all CPUs got update fine without the need of reloading the microcode. Is that some sort timing problem ? Also I notice on a Intel system the 'early updating' means that , is the first I see on dmesg while on AMD system it seems to fire up much later. Why is that ? Regards, Gabriel C 1. Fix for Fam17 micrcode : https://github.com/dracutdevs/dracut/commit/19453dc8744e6a59725c43b61b2e3db01cb4c57c#diff-bf0c6db1d4aaaa22a88b2649ddbfcd2a