An IRQ's effective affinity can only be different from its configured
affinity if there are multiple CPUs. Make it clear that this option is
only meaningful when SMP is enabled.
Signed-off-by: Tiezhu Yang <[email protected]>
---
v2: rebased on 6.1-rc2
drivers/irqchip/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 7ef9f5e..8461915 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -575,7 +575,7 @@ config IRQ_LOONGARCH_CPU
bool
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
- select GENERIC_IRQ_EFFECTIVE_AFF_MASK
+ select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
select LOONGSON_LIOINTC
select LOONGSON_EIOINTC
select LOONGSON_PCH_PIC
--
2.1.0
On Thu, 27 Oct 2022 04:39:09 +0100,
Tiezhu Yang <[email protected]> wrote:
>
> An IRQ's effective affinity can only be different from its configured
> affinity if there are multiple CPUs. Make it clear that this option is
> only meaningful when SMP is enabled.
>
> Signed-off-by: Tiezhu Yang <[email protected]>
> ---
>
> v2: rebased on 6.1-rc2
>
> drivers/irqchip/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index 7ef9f5e..8461915 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -575,7 +575,7 @@ config IRQ_LOONGARCH_CPU
> bool
> select GENERIC_IRQ_CHIP
> select IRQ_DOMAIN
> - select GENERIC_IRQ_EFFECTIVE_AFF_MASK
> + select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
> select LOONGSON_LIOINTC
> select LOONGSON_EIOINTC
> select LOONGSON_PCH_PIC
We already have this:
# Supports effective affinity mask
config GENERIC_IRQ_EFFECTIVE_AFF_MASK
depends on SMP
bool
Do we really need to express this for every interrupt controller?
M.
--
Without deviation from the norm, progress is not possible.
On 11/26/22 06:53, Marc Zyngier wrote:
> On Thu, 27 Oct 2022 04:39:09 +0100,
> Tiezhu Yang <[email protected]> wrote:
>>
>> An IRQ's effective affinity can only be different from its configured
>> affinity if there are multiple CPUs. Make it clear that this option is
>> only meaningful when SMP is enabled.
>>
>> Signed-off-by: Tiezhu Yang <[email protected]>
>> ---
>>
>> v2: rebased on 6.1-rc2
>>
>> drivers/irqchip/Kconfig | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
>> index 7ef9f5e..8461915 100644
>> --- a/drivers/irqchip/Kconfig
>> +++ b/drivers/irqchip/Kconfig
>> @@ -575,7 +575,7 @@ config IRQ_LOONGARCH_CPU
>> bool
>> select GENERIC_IRQ_CHIP
>> select IRQ_DOMAIN
>> - select GENERIC_IRQ_EFFECTIVE_AFF_MASK
>> + select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
>> select LOONGSON_LIOINTC
>> select LOONGSON_EIOINTC
>> select LOONGSON_PCH_PIC
>
> We already have this:
>
> # Supports effective affinity mask
> config GENERIC_IRQ_EFFECTIVE_AFF_MASK
> depends on SMP
> bool
>
> Do we really need to express this for every interrupt controller?
Unfortunately yes, because "select" does not respect dependencies. So
the "depends on SMP" line does not enforce anything; it only serves to
provide a warning at configure time that the build will break.
Regards,
Samuel
On Sat, 26 Nov 2022 23:49:10 +0000,
Samuel Holland <[email protected]> wrote:
>
> On 11/26/22 06:53, Marc Zyngier wrote:
> > On Thu, 27 Oct 2022 04:39:09 +0100,
> > Tiezhu Yang <[email protected]> wrote:
> >>
> >> An IRQ's effective affinity can only be different from its configured
> >> affinity if there are multiple CPUs. Make it clear that this option is
> >> only meaningful when SMP is enabled.
> >>
> >> Signed-off-by: Tiezhu Yang <[email protected]>
> >> ---
> >>
> >> v2: rebased on 6.1-rc2
> >>
> >> drivers/irqchip/Kconfig | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> >> index 7ef9f5e..8461915 100644
> >> --- a/drivers/irqchip/Kconfig
> >> +++ b/drivers/irqchip/Kconfig
> >> @@ -575,7 +575,7 @@ config IRQ_LOONGARCH_CPU
> >> bool
> >> select GENERIC_IRQ_CHIP
> >> select IRQ_DOMAIN
> >> - select GENERIC_IRQ_EFFECTIVE_AFF_MASK
> >> + select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
> >> select LOONGSON_LIOINTC
> >> select LOONGSON_EIOINTC
> >> select LOONGSON_PCH_PIC
> >
> > We already have this:
> >
> > # Supports effective affinity mask
> > config GENERIC_IRQ_EFFECTIVE_AFF_MASK
> > depends on SMP
> > bool
> >
> > Do we really need to express this for every interrupt controller?
>
> Unfortunately yes, because "select" does not respect dependencies. So
> the "depends on SMP" line does not enforce anything; it only serves to
> provide a warning at configure time that the build will break.
I understand that. My question was more "how can we avoid doing that
for each and every irqchip".
So far, the only things I can think of are either an intermediate
config symbol that performs the "if SMP" by itself, or spraying checks
for CONFIG_SMP all over the shop. None of which are appealing.
M.
--
Without deviation from the norm, progress is not possible.