2022-03-02 23:46:37

by Ionela Voinescu

[permalink] [raw]
Subject: [PATCH v3 1/3] x86, ACPI: rename init_freq_invariance_cppc to arch_init_invariance_cppc

init_freq_invariance_cppc() was called in acpi_cppc_processor_probe(),
after CPU performance information and controls were populated from the
per-cpu _CPC objects.

But these _CPC objects provide information that helps with both CPU
(u-arch) and frequency invariance. Therefore, change the function name
to a more generic one, while adding the arch_ prefix, as this function
is expected to be defined differently by different architectures.

Signed-off-by: Ionela Voinescu <[email protected]>
Tested-by: Valentin Schneider <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Giovanni Gherdovich <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
---
arch/x86/include/asm/topology.h | 2 +-
drivers/acpi/cppc_acpi.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index 2f0b6be8eaab..5ec70f186775 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -223,7 +223,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled)

#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP)
void init_freq_invariance_cppc(void);
-#define init_freq_invariance_cppc init_freq_invariance_cppc
+#define arch_init_invariance_cppc init_freq_invariance_cppc
#endif

#endif /* _ASM_X86_TOPOLOGY_H */
diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 866560cbb082..bfd142ab4e07 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -633,8 +633,8 @@ static bool is_cppc_supported(int revision, int num_ent)
* )
*/

-#ifndef init_freq_invariance_cppc
-static inline void init_freq_invariance_cppc(void) { }
+#ifndef arch_init_invariance_cppc
+static inline void arch_init_invariance_cppc(void) { }
#endif

/**
@@ -816,7 +816,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
goto out_free;
}

- init_freq_invariance_cppc();
+ arch_init_invariance_cppc();

kfree(output.pointer);
return 0;
--
2.25.1


2022-03-08 18:26:16

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v3 1/3] x86, ACPI: rename init_freq_invariance_cppc to arch_init_invariance_cppc

On Wed, Mar 2, 2022 at 7:10 PM Ionela Voinescu <[email protected]> wrote:
>
> init_freq_invariance_cppc() was called in acpi_cppc_processor_probe(),
> after CPU performance information and controls were populated from the
> per-cpu _CPC objects.
>
> But these _CPC objects provide information that helps with both CPU
> (u-arch) and frequency invariance. Therefore, change the function name
> to a more generic one, while adding the arch_ prefix, as this function
> is expected to be defined differently by different architectures.
>
> Signed-off-by: Ionela Voinescu <[email protected]>
> Tested-by: Valentin Schneider <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Giovanni Gherdovich <[email protected]>
> Cc: "Rafael J. Wysocki" <[email protected]>

Acked-by: Rafael J. Wysocki <[email protected]>

and who's expected to pick this up?

> ---
> arch/x86/include/asm/topology.h | 2 +-
> drivers/acpi/cppc_acpi.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
> index 2f0b6be8eaab..5ec70f186775 100644
> --- a/arch/x86/include/asm/topology.h
> +++ b/arch/x86/include/asm/topology.h
> @@ -223,7 +223,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled)
>
> #if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP)
> void init_freq_invariance_cppc(void);
> -#define init_freq_invariance_cppc init_freq_invariance_cppc
> +#define arch_init_invariance_cppc init_freq_invariance_cppc
> #endif
>
> #endif /* _ASM_X86_TOPOLOGY_H */
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index 866560cbb082..bfd142ab4e07 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -633,8 +633,8 @@ static bool is_cppc_supported(int revision, int num_ent)
> * )
> */
>
> -#ifndef init_freq_invariance_cppc
> -static inline void init_freq_invariance_cppc(void) { }
> +#ifndef arch_init_invariance_cppc
> +static inline void arch_init_invariance_cppc(void) { }
> #endif
>
> /**
> @@ -816,7 +816,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
> goto out_free;
> }
>
> - init_freq_invariance_cppc();
> + arch_init_invariance_cppc();
>
> kfree(output.pointer);
> return 0;
> --
> 2.25.1
>

2022-03-09 01:18:22

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v3 1/3] x86, ACPI: rename init_freq_invariance_cppc to arch_init_invariance_cppc

On Tue, Mar 8, 2022 at 7:05 PM Rafael J. Wysocki <[email protected]> wrote:
>
> On Wed, Mar 2, 2022 at 7:10 PM Ionela Voinescu <[email protected]> wrote:
> >
> > init_freq_invariance_cppc() was called in acpi_cppc_processor_probe(),
> > after CPU performance information and controls were populated from the
> > per-cpu _CPC objects.
> >
> > But these _CPC objects provide information that helps with both CPU
> > (u-arch) and frequency invariance. Therefore, change the function name
> > to a more generic one, while adding the arch_ prefix, as this function
> > is expected to be defined differently by different architectures.
> >
> > Signed-off-by: Ionela Voinescu <[email protected]>
> > Tested-by: Valentin Schneider <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Giovanni Gherdovich <[email protected]>
> > Cc: "Rafael J. Wysocki" <[email protected]>
>
> Acked-by: Rafael J. Wysocki <[email protected]>

That said it will conflict with this series from Rui:

https://lore.kernel.org/linux-acpi/[email protected]/

applied by me a while ago.

Maybe consider rebasing when this gets to linux-next ->

> and who's expected to pick this up?

-> and then I guess I can pick it up if everybody agrees.

> > ---
> > arch/x86/include/asm/topology.h | 2 +-
> > drivers/acpi/cppc_acpi.c | 6 +++---
> > 2 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
> > index 2f0b6be8eaab..5ec70f186775 100644
> > --- a/arch/x86/include/asm/topology.h
> > +++ b/arch/x86/include/asm/topology.h
> > @@ -223,7 +223,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled)
> >
> > #if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP)
> > void init_freq_invariance_cppc(void);
> > -#define init_freq_invariance_cppc init_freq_invariance_cppc
> > +#define arch_init_invariance_cppc init_freq_invariance_cppc
> > #endif
> >
> > #endif /* _ASM_X86_TOPOLOGY_H */
> > diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> > index 866560cbb082..bfd142ab4e07 100644
> > --- a/drivers/acpi/cppc_acpi.c
> > +++ b/drivers/acpi/cppc_acpi.c
> > @@ -633,8 +633,8 @@ static bool is_cppc_supported(int revision, int num_ent)
> > * )
> > */
> >
> > -#ifndef init_freq_invariance_cppc
> > -static inline void init_freq_invariance_cppc(void) { }
> > +#ifndef arch_init_invariance_cppc
> > +static inline void arch_init_invariance_cppc(void) { }
> > #endif
> >
> > /**
> > @@ -816,7 +816,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
> > goto out_free;
> > }
> >
> > - init_freq_invariance_cppc();
> > + arch_init_invariance_cppc();
> >
> > kfree(output.pointer);
> > return 0;
> > --
> > 2.25.1
> >

2022-03-09 10:36:02

by Ionela Voinescu

[permalink] [raw]
Subject: Re: [PATCH v3 1/3] x86, ACPI: rename init_freq_invariance_cppc to arch_init_invariance_cppc

On Tuesday 08 Mar 2022 at 19:22:10 (+0100), Rafael J. Wysocki wrote:
> On Tue, Mar 8, 2022 at 7:05 PM Rafael J. Wysocki <[email protected]> wrote:
> >
> > On Wed, Mar 2, 2022 at 7:10 PM Ionela Voinescu <[email protected]> wrote:
> > >
> > > init_freq_invariance_cppc() was called in acpi_cppc_processor_probe(),
> > > after CPU performance information and controls were populated from the
> > > per-cpu _CPC objects.
> > >
> > > But these _CPC objects provide information that helps with both CPU
> > > (u-arch) and frequency invariance. Therefore, change the function name
> > > to a more generic one, while adding the arch_ prefix, as this function
> > > is expected to be defined differently by different architectures.
> > >
> > > Signed-off-by: Ionela Voinescu <[email protected]>
> > > Tested-by: Valentin Schneider <[email protected]>
> > > Cc: Thomas Gleixner <[email protected]>
> > > Cc: Ingo Molnar <[email protected]>
> > > Cc: Giovanni Gherdovich <[email protected]>
> > > Cc: "Rafael J. Wysocki" <[email protected]>
> >
> > Acked-by: Rafael J. Wysocki <[email protected]>
>
> That said it will conflict with this series from Rui:
>
> https://lore.kernel.org/linux-acpi/[email protected]/
>
> applied by me a while ago.
>
> Maybe consider rebasing when this gets to linux-next ->

Will do that!

>
> > and who's expected to pick this up?
>
> -> and then I guess I can pick it up if everybody agrees.

Many thanks, Rafael!

>
> > > ---
> > > arch/x86/include/asm/topology.h | 2 +-
> > > drivers/acpi/cppc_acpi.c | 6 +++---
> > > 2 files changed, 4 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
> > > index 2f0b6be8eaab..5ec70f186775 100644
> > > --- a/arch/x86/include/asm/topology.h
> > > +++ b/arch/x86/include/asm/topology.h
> > > @@ -223,7 +223,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled)
> > >
> > > #if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP)
> > > void init_freq_invariance_cppc(void);
> > > -#define init_freq_invariance_cppc init_freq_invariance_cppc
> > > +#define arch_init_invariance_cppc init_freq_invariance_cppc
> > > #endif
> > >
> > > #endif /* _ASM_X86_TOPOLOGY_H */
> > > diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> > > index 866560cbb082..bfd142ab4e07 100644
> > > --- a/drivers/acpi/cppc_acpi.c
> > > +++ b/drivers/acpi/cppc_acpi.c
> > > @@ -633,8 +633,8 @@ static bool is_cppc_supported(int revision, int num_ent)
> > > * )
> > > */
> > >
> > > -#ifndef init_freq_invariance_cppc
> > > -static inline void init_freq_invariance_cppc(void) { }
> > > +#ifndef arch_init_invariance_cppc
> > > +static inline void arch_init_invariance_cppc(void) { }
> > > #endif
> > >
> > > /**
> > > @@ -816,7 +816,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
> > > goto out_free;
> > > }
> > >
> > > - init_freq_invariance_cppc();
> > > + arch_init_invariance_cppc();
> > >
> > > kfree(output.pointer);
> > > return 0;
> > > --
> > > 2.25.1
> > >