[PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK

Jiexun Wang wangjiexun at tinylab.org
Sat Sep 9 17:16:01 PDT 2023


On Sat, 9 Sep 2023 16:20:41 -0500, Samuel Holland wrote:
>Hi,
>
>The patch is correct, though the subject isn't quite accurate.
>CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK exists; it is defined in arch/Kconfig.
>It's just the wrong option to use to guard the function definition.
>

I think I should send a new version of the patch with the subject:
RISC-V: Fix wrong use of CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK. 
Does this subject look more appropriate?

>On 9/6/23 07:32, Jiexun Wang wrote:
>> If configuration options SOFTIRQ_ON_OWN_STACK and PREEMPT_RT 
>> are enabled simultaneously under RISC-V architecture,
>> it will result in a compilation failure:
>> 
>> arch/riscv/kernel/irq.c:64:6: error: redefinition of 'do_softirq_own_stack'
>>    64 | void do_softirq_own_stack(void)
>>       |      ^~~~~~~~~~~~~~~~~~~~
>> In file included from ./arch/riscv/include/generated/asm/softirq_stack.h:1,
>>                  from arch/riscv/kernel/irq.c:15:
>> ./include/asm-generic/softirq_stack.h:8:20: note: previous definition of 'do_softirq_own_stack' was here
>>     8 | static inline void do_softirq_own_stack(void)
>>       |                    ^~~~~~~~~~~~~~~~~~~~
>>       
>> After changing CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK to CONFIG_SOFTIRQ_ON_OWN_STACK,
>> compilation can be successful.
>> 
>> Fixes: dd69d07a5a6c ("riscv: stack: Support HAVE_SOFTIRQ_ON_OWN_STACK")
>> Signed-off-by: Jiexun Wang <wangjiexun at tinylab.org>
>> ---
>> Changes in v2:
>> - changed to a more suitable subject line
>> - add a Fixes tag
>> 
>> ---
>>  arch/riscv/kernel/irq.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/arch/riscv/kernel/irq.c b/arch/riscv/kernel/irq.c
>> index a8efa053c4a5..a86f272ae2c3 100644
>> --- a/arch/riscv/kernel/irq.c
>> +++ b/arch/riscv/kernel/irq.c
>> @@ -60,7 +60,7 @@ static void init_irq_stacks(void)
>>  }
>>  #endif /* CONFIG_VMAP_STACK */
>>  
>> -#ifdef CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
>> +#ifdef CONFIG_SOFTIRQ_ON_OWN_STACK
>
>It would be good to fix the #endif comment at the bottom of the function
>as well.

Thanks, I will fix this as well.

Best regards,
Jiexun Wang

>
>Regards,
>Samuel
>
>>  void do_softirq_own_stack(void)
>>  {



More information about the linux-riscv mailing list