2023-05-22 06:43:57

by Christian Gmeiner

[permalink] [raw]
Subject: [PATCH] x86/microcode: move microcode_mutex declaration

The microcode_mutex is only used when CONFIG_MICROCODE_LATE_LOADING
is enabled. Move it into the ifdef block.

Fixes a compiler unused-variable warning seen on gcc.

Signed-off-by: Christian Gmeiner <[email protected]>
---
arch/x86/kernel/cpu/microcode/core.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
index 3afcf3de0dd4..4f6ebadba2fb 100644
--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -49,20 +49,6 @@ bool initrd_gone;

LIST_HEAD(microcode_cache);

-/*
- * Synchronization.
- *
- * All non cpu-hotplug-callback call sites use:
- *
- * - microcode_mutex to synchronize with each other;
- * - cpus_read_lock/unlock() to synchronize with
- * the cpu-hotplug-callback call sites.
- *
- * We guarantee that only a single cpu is being
- * updated at any particular moment of time.
- */
-static DEFINE_MUTEX(microcode_mutex);
-
struct ucode_cpu_info ucode_cpu_info[NR_CPUS];

struct cpu_info_ctx {
@@ -323,6 +309,20 @@ void reload_early_microcode(unsigned int cpu)
static struct platform_device *microcode_pdev;

#ifdef CONFIG_MICROCODE_LATE_LOADING
+/*
+ * Synchronization.
+ *
+ * All non cpu-hotplug-callback call sites use:
+ *
+ * - microcode_mutex to synchronize with each other;
+ * - cpus_read_lock/unlock() to synchronize with
+ * the cpu-hotplug-callback call sites.
+ *
+ * We guarantee that only a single cpu is being
+ * updated at any particular moment of time.
+ */
+static DEFINE_MUTEX(microcode_mutex);
+
/*
* Late loading dance. Why the heavy-handed stomp_machine effort?
*
--
2.40.1



2023-05-26 00:46:12

by Ashok Raj

[permalink] [raw]
Subject: Re: [PATCH] x86/microcode: move microcode_mutex declaration

On Mon, May 22, 2023 at 08:27:12AM +0200, Christian Gmeiner wrote:
> The microcode_mutex is only used when CONFIG_MICROCODE_LATE_LOADING
> is enabled. Move it into the ifdef block.
>
> Fixes a compiler unused-variable warning seen on gcc.
>
> Signed-off-by: Christian Gmeiner <[email protected]>

Thanks Christian

I tried to compile with W=1 but not sure why I'm not getting that error
when CONFIG_MICROCODE_LATE_LOADING=n

I'm using GCC 12.2.0 on a ubuntu system.

But your change seems fine.


> ---
> arch/x86/kernel/cpu/microcode/core.c | 28 ++++++++++++++--------------
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
> index 3afcf3de0dd4..4f6ebadba2fb 100644
> --- a/arch/x86/kernel/cpu/microcode/core.c
> +++ b/arch/x86/kernel/cpu/microcode/core.c
> @@ -49,20 +49,6 @@ bool initrd_gone;
>
> LIST_HEAD(microcode_cache);
>
> -/*
> - * Synchronization.
> - *
> - * All non cpu-hotplug-callback call sites use:
> - *
> - * - microcode_mutex to synchronize with each other;
> - * - cpus_read_lock/unlock() to synchronize with
> - * the cpu-hotplug-callback call sites.
> - *
> - * We guarantee that only a single cpu is being
> - * updated at any particular moment of time.
> - */
> -static DEFINE_MUTEX(microcode_mutex);
> -
> struct ucode_cpu_info ucode_cpu_info[NR_CPUS];
>
> struct cpu_info_ctx {
> @@ -323,6 +309,20 @@ void reload_early_microcode(unsigned int cpu)
> static struct platform_device *microcode_pdev;
>
> #ifdef CONFIG_MICROCODE_LATE_LOADING
> +/*
> + * Synchronization.
> + *
> + * All non cpu-hotplug-callback call sites use:
> + *
> + * - microcode_mutex to synchronize with each other;
> + * - cpus_read_lock/unlock() to synchronize with
> + * the cpu-hotplug-callback call sites.
> + *
> + * We guarantee that only a single cpu is being
> + * updated at any particular moment of time.
> + */
> +static DEFINE_MUTEX(microcode_mutex);
> +
> /*
> * Late loading dance. Why the heavy-handed stomp_machine effort?
> *
> --
> 2.40.1
>