Re: [PATCH v2 1/3] cobalt: Prepare for new signature of __request_percpu_irq() in 6.19

Jan Kiszka <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
On 20.02.26 12:27, Florian Bezdeka wrote:
> The signature of __request_percpu_irq() got one additional affinity
> parameter in 6.19 and 7.0 will remove the function entirely.
> 
> Dovetail 6.19 will introduce a new dovetail specific service called
> request_percpu_irq_affinity_flags() that allows us to set flags and
> affinity at the same time.
> 
> It might happen that older Dovetail versions get the new API via
> backports, so the re-#definement for older kernels might get
> obsolete earlier than dropping support for Dovetail < 6.19.
> 
> Signed-off-by: Florian Bezdeka <[email protected]>
> ---
>  include/cobalt/kernel/dovetail/pipeline/irq.h      | 6 ++++++
>  include/cobalt/kernel/dovetail/pipeline/pipeline.h | 9 ++++-----
>  include/cobalt/kernel/dovetail/pipeline/sirq.h     | 9 ++++-----
>  kernel/cobalt/dovetail/tick.c                      | 8 ++++----
>  4 files changed, 18 insertions(+), 14 deletions(-)
> 
> diff --git a/include/cobalt/kernel/dovetail/pipeline/irq.h b/include/cobalt/kernel/dovetail/pipeline/irq.h
> index 55d9b8ff17cd08e5e8c09aec393a1e23736c1b76..df0b8ceb05c25d655a331d238e7ef8ac8a6afeea 100644
> --- a/include/cobalt/kernel/dovetail/pipeline/irq.h
> +++ b/include/cobalt/kernel/dovetail/pipeline/irq.h
> @@ -5,6 +5,12 @@
>  #ifndef _COBALT_KERNEL_DOVETAIL_IRQ_H
>  #define _COBALT_KERNEL_DOVETAIL_IRQ_H
>  
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 19, 0)
> +#define request_percpu_irq_affinity_flags(irq, handler, flags, devname,        \
> +					  affinity, dev_id)                    \
> +	__request_percpu_irq(irq, handler, flags, devname, dev_id)

BTW, this effectively invalidates the affinity parameter. Before we
could make use of it, we would have to backport the dovetail function to
older kernels as well (6.1 right now).

At the same time, we seem to be forced to create all the OOB interrupts
on all the cores anyway, even when supported_cpus is set to a smaller
set. I do not recall why that is the case, I just vaguely remember
having asked this before. And as long as it is required, the new
affinity parameter will remain NULL.

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.