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