Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Shrikanth Hegde
On 1/31/25 11:39, Christophe Leroy wrote: Le 30/01/2025 à 21:26, Sebastian Andrzej Siewior a écrit : On 2025-01-30 22:27:07 [+0530], Shrikanth Hegde wrote: | #DEFINE need_irq_preemption() \ | (static_branch_unlikely(&sk_dynamic_irqentry_exit_cond_resched)) | | if (need_irq_p

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Christophe Leroy
Le 30/01/2025 à 21:26, Sebastian Andrzej Siewior a écrit : On 2025-01-30 22:27:07 [+0530], Shrikanth Hegde wrote: | #DEFINE need_irq_preemption() \ | (static_branch_unlikely(&sk_dynamic_irqentry_exit_cond_resched)) | | if (need_irq_preemption()) { be a bit smaller/ quicker? Th

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Sebastian Andrzej Siewior
On 2025-01-30 22:27:07 [+0530], Shrikanth Hegde wrote: > > | #DEFINE need_irq_preemption() \ > > | (static_branch_unlikely(&sk_dynamic_irqentry_exit_cond_resched)) > > | > > | if (need_irq_preemption()) { > > > > be a bit smaller/ quicker? This could be a fast path ;) > > I am okay wit

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Shrikanth Hegde
On 1/30/25 20:24, Sebastian Andrzej Siewior wrote: On 2025-01-06 10:49:19 [+0530], Shrikanth Hegde wrote: --- a/arch/powerpc/kernel/interrupt.c Thanks for taking a look. + #ifdef CONFIG_PPC_BOOK3S_64 DEFINE_STATIC_KEY_FALSE(interrupt_exit_not_reentrant); static inline bool exit_

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Christophe Leroy
Le 30/01/2025 à 15:54, Sebastian Andrzej Siewior a écrit : On 2025-01-06 10:49:19 [+0530], Shrikanth Hegde wrote: --- a/arch/powerpc/kernel/interrupt.c +++ b/arch/powerpc/kernel/interrupt.c @@ -25,6 +25,10 @@ unsigned long global_dbcr0[NR_CPUS]; #endif +#if defined(CONFIG_PREEMPT_DYNAM

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Sebastian Andrzej Siewior
On 2025-01-30 16:03:09 [+0100], Christophe Leroy wrote: > Le 30/01/2025 à 15:54, Sebastian Andrzej Siewior a écrit : > > On 2025-01-06 10:49:19 [+0530], Shrikanth Hegde wrote: > > > --- a/arch/powerpc/kernel/interrupt.c > > > +++ b/arch/powerpc/kernel/interrupt.c > > > @@ -25,6 +25,10 @@ > > > un

Re: [PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-30 Thread Sebastian Andrzej Siewior
On 2025-01-06 10:49:19 [+0530], Shrikanth Hegde wrote: > --- a/arch/powerpc/kernel/interrupt.c > +++ b/arch/powerpc/kernel/interrupt.c > @@ -25,6 +25,10 @@ > unsigned long global_dbcr0[NR_CPUS]; > #endif > > +#if defined(CONFIG_PREEMPT_DYNAMIC) && > defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY) > +

[PATCH v3 1/1] powerpc: Enable dynamic preemption

2025-01-05 Thread Shrikanth Hegde
Once the lazy preemption is supported, it would be desirable to change the preemption models at runtime. So add support for dynamic preemption using DYNAMIC_KEY. In irq-exit to kernel path, use preempt_model_preemptible for decision. Other way would be using static key based decision. Keeping it s