Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
@ 2023-09-06 12:32 Jiexun Wang
  2023-09-08  9:01 ` Guo Ren
  2023-09-09 21:20 ` Samuel Holland
  0 siblings, 2 replies; 5+ messages in thread
From: Jiexun Wang @ 2023-09-06 12:32 UTC (permalink / raw)
  To: conor
  Cc: guoren, paul.walmsley, palmer, aou, linux-kernel, linux-riscv,
	falcon, jszhang, tglx, Jiexun Wang

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@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
 void do_softirq_own_stack(void)
 {
 #ifdef CONFIG_IRQ_STACKS
-- 
2.34.1


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
  2023-09-06 12:32 [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK Jiexun Wang
@ 2023-09-08  9:01 ` Guo Ren
  2023-09-09 21:20 ` Samuel Holland
  1 sibling, 0 replies; 5+ messages in thread
From: Guo Ren @ 2023-09-08  9:01 UTC (permalink / raw)
  To: Jiexun Wang
  Cc: conor, paul.walmsley, palmer, aou, linux-kernel, linux-riscv,
	falcon, jszhang, tglx

Thx for fixup.

Reviewed-by: Guo Ren <guoren@kernel.org>

On Wed, Sep 6, 2023 at 8:34 PM Jiexun Wang <wangjiexun@tinylab.org> 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@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
>  void do_softirq_own_stack(void)
>  {
>  #ifdef CONFIG_IRQ_STACKS
> --
> 2.34.1
>


-- 
Best Regards
 Guo Ren

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
  2023-09-06 12:32 [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK Jiexun Wang
  2023-09-08  9:01 ` Guo Ren
@ 2023-09-09 21:20 ` Samuel Holland
  2023-09-09 21:38   ` Conor Dooley
  2023-09-10  0:16   ` Jiexun Wang
  1 sibling, 2 replies; 5+ messages in thread
From: Samuel Holland @ 2023-09-09 21:20 UTC (permalink / raw)
  To: Jiexun Wang
  Cc: guoren, paul.walmsley, palmer, aou, linux-kernel, linux-riscv,
	falcon, jszhang, tglx, conor

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.

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@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.

Regards,
Samuel

>  void do_softirq_own_stack(void)
>  {
>  #ifdef CONFIG_IRQ_STACKS


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
  2023-09-09 21:20 ` Samuel Holland
@ 2023-09-09 21:38   ` Conor Dooley
  2023-09-10  0:16   ` Jiexun Wang
  1 sibling, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2023-09-09 21:38 UTC (permalink / raw)
  To: Samuel Holland, Jiexun Wang
  Cc: guoren, paul.walmsley, palmer, aou, linux-kernel, linux-riscv,
	falcon, jszhang, tglx



On 9 September 2023 22:20:41 IST, Samuel Holland <samuel@sholland.org> 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.

That's partially my fault, I suggested using something along these lines on the previous
version.
I blame being supposed to be on holidays!

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
  2023-09-09 21:20 ` Samuel Holland
  2023-09-09 21:38   ` Conor Dooley
@ 2023-09-10  0:16   ` Jiexun Wang
  1 sibling, 0 replies; 5+ messages in thread
From: Jiexun Wang @ 2023-09-10  0:16 UTC (permalink / raw)
  To: samuel
  Cc: aou, conor, falcon, guoren, jszhang, linux-kernel, linux-riscv,
	palmer, paul.walmsley, tglx, wangjiexun

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@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)
>>  {

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-09-10  0:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-06 12:32 [PATCH v2] RISC-V: Fix use of non existent CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK Jiexun Wang
2023-09-08  9:01 ` Guo Ren
2023-09-09 21:20 ` Samuel Holland
2023-09-09 21:38   ` Conor Dooley
2023-09-10  0:16   ` Jiexun Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox