2023-10-18 16:41:57

by Srikar Dronamraju

[permalink] [raw]
Subject: [PATCH v2 5/6] powerpc/smp: Add read_mostly attribute

There are some variables that are only updated at boot time.
So add read_mostly attribute to such variables

Signed-off-by: Srikar Dronamraju <[email protected]>
---
arch/powerpc/kernel/smp.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 29da9262cb17..b1eb11a66902 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -77,10 +77,10 @@ static DEFINE_PER_CPU(int, cpu_state) = { 0 };
#endif

struct task_struct *secondary_current;
-bool has_big_cores;
-bool coregroup_enabled;
-bool thread_group_shares_l2;
-bool thread_group_shares_l3;
+bool has_big_cores __read_mostly;
+bool coregroup_enabled __read_mostly;
+bool thread_group_shares_l2 __read_mostly;
+bool thread_group_shares_l3 __read_mostly;

DEFINE_PER_CPU(cpumask_var_t, cpu_sibling_map);
DEFINE_PER_CPU(cpumask_var_t, cpu_smallcore_map);
@@ -987,7 +987,7 @@ static int __init init_thread_group_cache_map(int cpu, int cache_property)
return 0;
}

-static bool shared_caches;
+static bool shared_caches __read_mostly;
DEFINE_STATIC_KEY_FALSE(powerpc_asym_packing);

#ifdef CONFIG_SCHED_SMT
--
2.31.1


2023-10-19 04:50:06

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH v2 5/6] powerpc/smp: Add read_mostly attribute

Srikar Dronamraju <[email protected]> writes:
> There are some variables that are only updated at boot time.
> So add read_mostly attribute to such variables

If they're only updated at boot time then __ro_after_init would be the
better annotation.

cheers

> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> index 29da9262cb17..b1eb11a66902 100644
> --- a/arch/powerpc/kernel/smp.c
> +++ b/arch/powerpc/kernel/smp.c
> @@ -77,10 +77,10 @@ static DEFINE_PER_CPU(int, cpu_state) = { 0 };
> #endif
>
> struct task_struct *secondary_current;
> -bool has_big_cores;
> -bool coregroup_enabled;
> -bool thread_group_shares_l2;
> -bool thread_group_shares_l3;
> +bool has_big_cores __read_mostly;
> +bool coregroup_enabled __read_mostly;
> +bool thread_group_shares_l2 __read_mostly;
> +bool thread_group_shares_l3 __read_mostly;
>
> DEFINE_PER_CPU(cpumask_var_t, cpu_sibling_map);
> DEFINE_PER_CPU(cpumask_var_t, cpu_smallcore_map);
> @@ -987,7 +987,7 @@ static int __init init_thread_group_cache_map(int cpu, int cache_property)
> return 0;
> }
>
> -static bool shared_caches;
> +static bool shared_caches __read_mostly;
> DEFINE_STATIC_KEY_FALSE(powerpc_asym_packing);
>
> #ifdef CONFIG_SCHED_SMT
> --
> 2.31.1

2023-10-19 07:51:49

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH v2 5/6] powerpc/smp: Add read_mostly attribute

On Wed, Oct 18, 2023 at 10:07:45PM +0530, Srikar Dronamraju wrote:
> There are some variables that are only updated at boot time.
> So add read_mostly attribute to such variables

You don't have __ro_after_init ?

2023-10-19 13:02:53

by Srikar Dronamraju

[permalink] [raw]
Subject: Re: [PATCH v2 5/6] powerpc/smp: Add read_mostly attribute

* Peter Zijlstra <[email protected]> [2023-10-19 09:51:27]:

> On Wed, Oct 18, 2023 at 10:07:45PM +0530, Srikar Dronamraju wrote:
> > There are some variables that are only updated at boot time.
> > So add read_mostly attribute to such variables
>
> You don't have __ro_after_init ?

Michael also responded with the same input, will change over to
__ro_after_init in the next iteration.

--
Thanks and Regards
Srikar Dronamraju