* [PATCH v2 0/2] ARM/ARM64: Move cpu_logical_map[] to smp.h
@ 2019-06-03 23:18 Florian Fainelli
2019-06-03 23:18 ` [PATCH v2 1/2] arm64: smp: Moved " Florian Fainelli
2019-06-03 23:18 ` [PATCH v2 2/2] ARM: " Florian Fainelli
0 siblings, 2 replies; 7+ messages in thread
From: Florian Fainelli @ 2019-06-03 23:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: rmk+kernel, Florian Fainelli, Catalin Marinas, Will Deacon,
Shaokun Zhang, open list
Hi all,
These two patches make ARM and ARM64 consistent with other
architectures: sh, sparc, xtensa, mips, etc. to define cpu_logical_map
under asm/smp.h, which is included by linux/smp.h. This allows other
pieces of code like irqchip drivers to get access to cpu_logical_map[]
using linux/smp.h.
Changes in v2:
- just move __cpu_logical_map[]/cpu_logical_map[] to smp.h
Florian Fainelli (2):
arm64: smp: Moved cpu_logical_map[] to smp.h
ARM: smp: Moved cpu_logical_map[] to smp.h
arch/arm/include/asm/smp.h | 6 ++++++
arch/arm/include/asm/smp_plat.h | 5 -----
arch/arm64/include/asm/smp.h | 6 ++++++
arch/arm64/include/asm/smp_plat.h | 5 -----
4 files changed, 12 insertions(+), 10 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] arm64: smp: Moved cpu_logical_map[] to smp.h
2019-06-03 23:18 [PATCH v2 0/2] ARM/ARM64: Move cpu_logical_map[] to smp.h Florian Fainelli
@ 2019-06-03 23:18 ` Florian Fainelli
2019-06-05 12:09 ` Will Deacon
2019-06-03 23:18 ` [PATCH v2 2/2] ARM: " Florian Fainelli
1 sibling, 1 reply; 7+ messages in thread
From: Florian Fainelli @ 2019-06-03 23:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: rmk+kernel, Florian Fainelli, Catalin Marinas, Will Deacon,
Shaokun Zhang, open list
asm/smp.h is included by linux/smp.h and some drivers, in particular
irqchip drivers can access cpu_logical_map[] in order to perform SMP
affinity tasks. Make arm64 consistent with other architectures here.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm64/include/asm/smp.h | 6 ++++++
arch/arm64/include/asm/smp_plat.h | 5 -----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h
index 18553f399e08..eae2d6c01262 100644
--- a/arch/arm64/include/asm/smp.h
+++ b/arch/arm64/include/asm/smp.h
@@ -53,6 +53,12 @@ DECLARE_PER_CPU_READ_MOSTLY(int, cpu_number);
*/
#define raw_smp_processor_id() (*raw_cpu_ptr(&cpu_number))
+/*
+ * Logical CPU mapping.
+ */
+extern u64 __cpu_logical_map[NR_CPUS];
+#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
+
struct seq_file;
/*
diff --git a/arch/arm64/include/asm/smp_plat.h b/arch/arm64/include/asm/smp_plat.h
index af58dcdefb21..7a495403a18a 100644
--- a/arch/arm64/include/asm/smp_plat.h
+++ b/arch/arm64/include/asm/smp_plat.h
@@ -36,11 +36,6 @@ static inline u32 mpidr_hash_size(void)
return 1 << mpidr_hash.bits;
}
-/*
- * Logical CPU mapping.
- */
-extern u64 __cpu_logical_map[NR_CPUS];
-#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
/*
* Retrieve logical cpu index corresponding to a given MPIDR.Aff*
* - mpidr: MPIDR.Aff* bits to be used for the look-up
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] ARM: smp: Moved cpu_logical_map[] to smp.h
2019-06-03 23:18 [PATCH v2 0/2] ARM/ARM64: Move cpu_logical_map[] to smp.h Florian Fainelli
2019-06-03 23:18 ` [PATCH v2 1/2] arm64: smp: Moved " Florian Fainelli
@ 2019-06-03 23:18 ` Florian Fainelli
2019-06-21 7:57 ` Russell King - ARM Linux admin
1 sibling, 1 reply; 7+ messages in thread
From: Florian Fainelli @ 2019-06-03 23:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: rmk+kernel, Florian Fainelli, Catalin Marinas, Will Deacon,
Shaokun Zhang, open list
asm/smp.h is included by linux/smp.h and some drivers, in particular
irqchip drivers can access cpu_logical_map[] in order to perform SMP
affinity tasks. Make arm64 consistent with other architectures here.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/include/asm/smp.h | 6 ++++++
arch/arm/include/asm/smp_plat.h | 5 -----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h
index 451ae684aaf4..112d78e82f35 100644
--- a/arch/arm/include/asm/smp.h
+++ b/arch/arm/include/asm/smp.h
@@ -20,6 +20,12 @@
#define raw_smp_processor_id() (current_thread_info()->cpu)
+/*
+ * Logical CPU mapping.
+ */
+extern u32 __cpu_logical_map[];
+#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
+
struct seq_file;
/*
diff --git a/arch/arm/include/asm/smp_plat.h b/arch/arm/include/asm/smp_plat.h
index f2c36acf9886..ca6b91d400cf 100644
--- a/arch/arm/include/asm/smp_plat.h
+++ b/arch/arm/include/asm/smp_plat.h
@@ -66,11 +66,6 @@ static inline int cache_ops_need_broadcast(void)
}
#endif
-/*
- * Logical CPU mapping.
- */
-extern u32 __cpu_logical_map[];
-#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
/*
* Retrieve logical cpu index corresponding to a given MPIDR[23:0]
* - mpidr: MPIDR[23:0] to be used for the look-up
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] arm64: smp: Moved cpu_logical_map[] to smp.h
2019-06-03 23:18 ` [PATCH v2 1/2] arm64: smp: Moved " Florian Fainelli
@ 2019-06-05 12:09 ` Will Deacon
2019-06-07 17:18 ` Florian Fainelli
0 siblings, 1 reply; 7+ messages in thread
From: Will Deacon @ 2019-06-05 12:09 UTC (permalink / raw)
To: Florian Fainelli
Cc: linux-arm-kernel, rmk+kernel, Catalin Marinas, Shaokun Zhang, open list
On Mon, Jun 03, 2019 at 04:18:29PM -0700, Florian Fainelli wrote:
> asm/smp.h is included by linux/smp.h and some drivers, in particular
> irqchip drivers can access cpu_logical_map[] in order to perform SMP
> affinity tasks. Make arm64 consistent with other architectures here.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> arch/arm64/include/asm/smp.h | 6 ++++++
> arch/arm64/include/asm/smp_plat.h | 5 -----
> 2 files changed, 6 insertions(+), 5 deletions(-)
Thanks. I'll grab this as a fix in an attempt to save you having to wait an
extra cycle before you can rely on it.
Will
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] arm64: smp: Moved cpu_logical_map[] to smp.h
2019-06-05 12:09 ` Will Deacon
@ 2019-06-07 17:18 ` Florian Fainelli
0 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2019-06-07 17:18 UTC (permalink / raw)
To: Will Deacon
Cc: linux-arm-kernel, rmk+kernel, Catalin Marinas, Shaokun Zhang, open list
On 6/5/19 5:09 AM, Will Deacon wrote:
> On Mon, Jun 03, 2019 at 04:18:29PM -0700, Florian Fainelli wrote:
>> asm/smp.h is included by linux/smp.h and some drivers, in particular
>> irqchip drivers can access cpu_logical_map[] in order to perform SMP
>> affinity tasks. Make arm64 consistent with other architectures here.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>> arch/arm64/include/asm/smp.h | 6 ++++++
>> arch/arm64/include/asm/smp_plat.h | 5 -----
>> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> Thanks. I'll grab this as a fix in an attempt to save you having to wait an
> extra cycle before you can rely on it.
Saw those in v5.3-rc4, thanks a lot!
Russell I dropped those in your patch tracker:
https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=8866/1
--
Florian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] ARM: smp: Moved cpu_logical_map[] to smp.h
2019-06-03 23:18 ` [PATCH v2 2/2] ARM: " Florian Fainelli
@ 2019-06-21 7:57 ` Russell King - ARM Linux admin
2019-06-21 14:46 ` Florian Fainelli
0 siblings, 1 reply; 7+ messages in thread
From: Russell King - ARM Linux admin @ 2019-06-21 7:57 UTC (permalink / raw)
To: Florian Fainelli
Cc: linux-arm-kernel, Catalin Marinas, Will Deacon, open list, Shaokun Zhang
On Mon, Jun 03, 2019 at 04:18:30PM -0700, Florian Fainelli wrote:
> asm/smp.h is included by linux/smp.h and some drivers, in particular
> irqchip drivers can access cpu_logical_map[] in order to perform SMP
> affinity tasks. Make arm64 consistent with other architectures here.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
I merged this last night, and it causes ojn's builder to fail 98
defconfigs with errors like:
arch/arm/include/asm/smp_plat.h:79:7: error: implicit declaration of function 'cpu_logical_map' [-Werror=implicit-function-declaration]
arch/arm/kernel/setup.c:594:21: error: lvalue required as left operand of assignment
arch/arm/kernel/setup.c:596:22: error: lvalue required as left operand of assignment
Dropping this patch.
Also, you may wish to make the patch description refer to the correct
architecture.
> ---
> arch/arm/include/asm/smp.h | 6 ++++++
> arch/arm/include/asm/smp_plat.h | 5 -----
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h
> index 451ae684aaf4..112d78e82f35 100644
> --- a/arch/arm/include/asm/smp.h
> +++ b/arch/arm/include/asm/smp.h
> @@ -20,6 +20,12 @@
>
> #define raw_smp_processor_id() (current_thread_info()->cpu)
>
> +/*
> + * Logical CPU mapping.
> + */
> +extern u32 __cpu_logical_map[];
> +#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
> +
> struct seq_file;
>
> /*
> diff --git a/arch/arm/include/asm/smp_plat.h b/arch/arm/include/asm/smp_plat.h
> index f2c36acf9886..ca6b91d400cf 100644
> --- a/arch/arm/include/asm/smp_plat.h
> +++ b/arch/arm/include/asm/smp_plat.h
> @@ -66,11 +66,6 @@ static inline int cache_ops_need_broadcast(void)
> }
> #endif
>
> -/*
> - * Logical CPU mapping.
> - */
> -extern u32 __cpu_logical_map[];
> -#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
> /*
> * Retrieve logical cpu index corresponding to a given MPIDR[23:0]
> * - mpidr: MPIDR[23:0] to be used for the look-up
> --
> 2.17.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] ARM: smp: Moved cpu_logical_map[] to smp.h
2019-06-21 7:57 ` Russell King - ARM Linux admin
@ 2019-06-21 14:46 ` Florian Fainelli
0 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2019-06-21 14:46 UTC (permalink / raw)
To: Russell King - ARM Linux admin
Cc: linux-arm-kernel, Catalin Marinas, Will Deacon, open list, Shaokun Zhang
On 6/21/2019 12:57 AM, Russell King - ARM Linux admin wrote:
> On Mon, Jun 03, 2019 at 04:18:30PM -0700, Florian Fainelli wrote:
>> asm/smp.h is included by linux/smp.h and some drivers, in particular
>> irqchip drivers can access cpu_logical_map[] in order to perform SMP
>> affinity tasks. Make arm64 consistent with other architectures here.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>
> I merged this last night, and it causes ojn's builder to fail 98
> defconfigs with errors like:
>
> arch/arm/include/asm/smp_plat.h:79:7: error: implicit declaration of function 'cpu_logical_map' [-Werror=implicit-function-declaration]
> arch/arm/kernel/setup.c:594:21: error: lvalue required as left operand of assignment
> arch/arm/kernel/setup.c:596:22: error: lvalue required as left operand of assignment
>
> Dropping this patch.
>
> Also, you may wish to make the patch description refer to the correct
> architecture.
Sorry about that, I will go back and revisit this patch.
--
Florian
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-06-21 14:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-03 23:18 [PATCH v2 0/2] ARM/ARM64: Move cpu_logical_map[] to smp.h Florian Fainelli
2019-06-03 23:18 ` [PATCH v2 1/2] arm64: smp: Moved " Florian Fainelli
2019-06-05 12:09 ` Will Deacon
2019-06-07 17:18 ` Florian Fainelli
2019-06-03 23:18 ` [PATCH v2 2/2] ARM: " Florian Fainelli
2019-06-21 7:57 ` Russell King - ARM Linux admin
2019-06-21 14:46 ` Florian Fainelli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).