2016-04-14 01:19:50

by Shi, Yang

[permalink] [raw]
Subject: [PATCH] arm64: Kconfig: make SCHED_MC and SCHED_SMT depend on SMP

SCHED_MC and SCHED_SMT are pointless when SMP is disabled.
Although SMP is rarely disabled for ARM64, it looks more consistent to have
such depend in Kconfig.

Signed-off-by: Yang Shi <[email protected]>
---
arch/arm64/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 4f43622..e5de825 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -521,6 +521,7 @@ config CPU_BIG_ENDIAN

config SCHED_MC
bool "Multi-core scheduler support"
+ depends on SMP
help
Multi-core scheduler support improves the CPU scheduler's decision
making when dealing with multi-core CPU chips at a cost of slightly
@@ -528,6 +529,7 @@ config SCHED_MC

config SCHED_SMT
bool "SMT scheduler support"
+ depends on SMP
help
Improves the CPU scheduler's decision making when dealing with
MultiThreading at a cost of slightly increased overhead in some
--
2.0.2


2016-04-14 08:47:33

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: Kconfig: make SCHED_MC and SCHED_SMT depend on SMP

On Wed, Apr 13, 2016 at 05:54:12PM -0700, Yang Shi wrote:
> SCHED_MC and SCHED_SMT are pointless when SMP is disabled.
> Although SMP is rarely disabled for ARM64, it looks more consistent to have
> such depend in Kconfig.

You can't disable CONFIG_SMP for arm64 -- we select it unconditionally
in the kconfig.

Will

2016-04-14 16:33:11

by Shi, Yang

[permalink] [raw]
Subject: Re: [PATCH] arm64: Kconfig: make SCHED_MC and SCHED_SMT depend on SMP

On 4/14/2016 1:47 AM, Will Deacon wrote:
> On Wed, Apr 13, 2016 at 05:54:12PM -0700, Yang Shi wrote:
>> SCHED_MC and SCHED_SMT are pointless when SMP is disabled.
>> Although SMP is rarely disabled for ARM64, it looks more consistent to have
>> such depend in Kconfig.
>
> You can't disable CONFIG_SMP for arm64 -- we select it unconditionally
> in the kconfig.

Thanks Will. I didn't realize ARM64 has SMP selected unconditionally, it
looks the patch is pointless.

A follow-up question, I know ARM64 has no UP implementation now, it
sounds make sense to have SMP select unconditionally, however, it might
be more flexible to have SMP like x86 and other architectures. And, it
may also help to find more bugs when !SMP.

Thanks,
Yang

>
> Will
>

2016-04-14 16:35:41

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: Kconfig: make SCHED_MC and SCHED_SMT depend on SMP

On Thu, Apr 14, 2016 at 09:33:07AM -0700, Shi, Yang wrote:
> On 4/14/2016 1:47 AM, Will Deacon wrote:
> >On Wed, Apr 13, 2016 at 05:54:12PM -0700, Yang Shi wrote:
> >>SCHED_MC and SCHED_SMT are pointless when SMP is disabled.
> >>Although SMP is rarely disabled for ARM64, it looks more consistent to have
> >>such depend in Kconfig.
> >
> >You can't disable CONFIG_SMP for arm64 -- we select it unconditionally
> >in the kconfig.
>
> Thanks Will. I didn't realize ARM64 has SMP selected unconditionally, it
> looks the patch is pointless.
>
> A follow-up question, I know ARM64 has no UP implementation now, it sounds
> make sense to have SMP select unconditionally, however, it might be more
> flexible to have SMP like x86 and other architectures. And, it may also help
> to find more bugs when !SMP.

Well, an SMP kernel would still work on a UP implementation, so I don't
really see the point in carrying a whole load of barely tested #ifdef
code. Top that off with the fact that we still need shareable memory for
coherent DMA and we still need barrier instructions for the page table
walker, and it's really diminishing returns.

Will