All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@suse.de>
To: Vitezslav Samel <vitezslav@samel.cz>
Cc: "Raj, Ashok" <ashok.raj@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: 4.15.17 regression: bisected: timeout during microcode update
Date: Thu, 19 Apr 2018 14:18:41 +0200	[thread overview]
Message-ID: <20180419121840.GF3896@pd.tnic> (raw)
In-Reply-To: <20180419120239.GA2377@pc11.op.pod.cz>

On Thu, Apr 19, 2018 at 02:02:39PM +0200, Vitezslav Samel wrote:
>   Here it is:

Thanks!

> -------------------------------------------------------------
> microcode: __reload_late: CPU1
> microcode: __reload_late: CPU3
> microcode: __reload_late: CPU2
> microcode: __reload_late: CPU0
> microcode: __reload_late: CPU1 reloading
> microcode: __reload_late: CPU3 reloading
> microcode: __reload_late: CPU2 reloading
> microcode: __reload_late: CPU0 reloading
> microcode: __reload_late: CPU3 returning 0x0

Aaaha, there it is.

Ok, debug patch v2, please do the same.

Thx.

---
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
index 10c4fc2c91f8..737f93422d0b 100644
--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -553,6 +553,8 @@ static int __reload_late(void *info)
 	enum ucode_state err;
 	int ret = 0;
 
+	pr_info("%s: CPU%d\n", __func__, cpu);
+
 	/*
 	 * Wait for all CPUs to arrive. A load will not be attempted unless all
 	 * CPUs show up.
@@ -560,6 +562,8 @@ static int __reload_late(void *info)
 	if (__wait_for_cpus(&late_cpus_in, NSEC_PER_SEC))
 		return -1;
 
+	pr_info("%s: CPU%d reloading\n", __func__, cpu);
+
 	spin_lock(&update_lock);
 	apply_microcode_local(&err);
 	spin_unlock(&update_lock);
@@ -571,9 +575,12 @@ static int __reload_late(void *info)
 	} else if (err == UCODE_UPDATED || err == UCODE_OK) {
 		ret = 1;
 	} else {
+		pr_info("%s: CPU%d returning 0x%x\n", __func__, cpu, err);
 		return ret;
 	}
 
+	pr_info("%s: CPU%d waiting to exit\n", __func__, cpu);
+
 	/*
 	 * Increase the wait timeout to a safe value here since we're
 	 * serializing the microcode update and that could take a while on a
diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
index 32b8e5724f96..ad0a19154c40 100644
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -727,21 +727,32 @@ static struct microcode_intel *find_patch(struct ucode_cpu_info *uci)
 {
 	struct microcode_header_intel *phdr;
 	struct ucode_patch *iter, *tmp;
+	int cpu = smp_processor_id();
 
 	list_for_each_entry_safe(iter, tmp, &microcode_cache, plist) {
 
 		phdr = (struct microcode_header_intel *)iter->data;
 
+		pr_info("%s: CPU%d, phdr: 0x%x, uci: 0x%x\n",
+			__func__, cpu, phdr->rev, uci->cpu_sig.rev);
+
 		if (phdr->rev <= uci->cpu_sig.rev)
 			continue;
 
+		pr_info("%s: CPU%d, find_matching_signature: sig: 0x%x, pf: 0x%x\n",
+			__func__, cpu, uci->cpu_sig.sig, uci->cpu_sig.pf);
+
 		if (!find_matching_signature(phdr,
 					     uci->cpu_sig.sig,
 					     uci->cpu_sig.pf))
 			continue;
 
+
+		pr_info("%s: CPU%d, found phdr: 0x%x\n", __func__, cpu, phdr->rev);
 		return iter->data;
 	}
+
+	pr_info("%s: CPU%d, NADA\n", __func__, cpu);
 	return NULL;
 }
 
@@ -805,8 +816,10 @@ static enum ucode_state apply_microcode_intel(int cpu)
 	mc = find_patch(uci);
 	if (!mc) {
 		mc = uci->mc;
-		if (!mc)
+		if (!mc) {
+			pr_info("%s: CPU%d, NFOUND\n", __func__, cpu);
 			return UCODE_NFOUND;
+		}
 	}
 
 	/*

-- 
Regards/Gruss,
    Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
-- 

  reply	other threads:[~2018-04-19 12:18 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-18  8:11 4.15.17 regression: bisected: timeout during microcode update Vitezslav Samel
2018-04-18 10:07 ` Borislav Petkov
2018-04-18 12:08   ` Vitezslav Samel
2018-04-18 12:22     ` Borislav Petkov
2018-04-18 13:53       ` Raj, Ashok
2018-04-18 16:14         ` Borislav Petkov
2018-04-19  5:35         ` Vitezslav Samel
2018-04-19  7:22           ` Raj, Ashok
2018-04-19 10:48           ` Borislav Petkov
2018-04-19 12:02             ` Vitezslav Samel
2018-04-19 12:18               ` Borislav Petkov [this message]
2018-04-19 12:32                 ` Raj, Ashok
2018-04-19 13:48                   ` Vitezslav Samel
2018-04-19 13:46                 ` Vitezslav Samel
2018-04-19 16:37                   ` Borislav Petkov
2018-04-20  6:20                     ` Vitezslav Samel
2018-04-20  9:52                       ` Borislav Petkov
2018-04-20 10:01                         ` Vitezslav Samel
2018-04-20 10:32                           ` Borislav Petkov
2018-04-20 10:34                             ` [PATCH 1/2] x86/microcode/intel: Save microcode patch unconditionally Borislav Petkov
2018-04-20 10:54                               ` Vitezslav Samel
2018-04-20 15:59                               ` Raj, Ashok
2018-04-20 10:37                             ` [PATCH 2/2] x86/microcode: Do not exit early from __reload_late() Borislav Petkov
2018-04-20 10:54                               ` Vitezslav Samel
2018-04-20 16:00                               ` Raj, Ashok
2018-04-21  8:19 ` [PATCH 1/2] x86/microcode/intel: Save microcode patch unconditionally Borislav Petkov
2018-04-21  8:19   ` [PATCH 2/2] x86/microcode: Do not exit early from __reload_late() Borislav Petkov
2018-04-24  7:52     ` [tip:x86/urgent] " tip-bot for Borislav Petkov
2018-04-24  7:51   ` [tip:x86/urgent] x86/microcode/intel: Save microcode patch unconditionally tip-bot for Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180419121840.GF3896@pd.tnic \
    --to=bp@suse.de \
    --cc=ashok.raj@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vitezslav@samel.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.