Re: [PATCH Dovetail v2 1/2] dovetail: genirq: Add request_percpu_irq_affinity_flags()

Philippe Gerum <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
Florian Bezdeka <[email protected]> writes:

> On Thu, 2026-02-19 at 18:10 +0100, Philippe Gerum wrote:
>> Florian Bezdeka <[email protected]> writes:
>> 
>> > On Wed, 2026-02-18 at 08:30 +0100, Jan Kiszka wrote:
>> > > On 18.02.26 00:05, Florian Bezdeka wrote:
>> > > > On Tue, 2026-02-17 at 23:54 +0100, Florian Bezdeka wrote:
>> > > > > cobalt / evl are currently using __request_percpu_irq() for setting up
>> > > > > OOB IRQs. In 6.19 the signature of __request_percpu_irq() has been
>> > > > > updated and 7.0 will remove the function entirely, so we need a
>> > > > > replacement.
>> > > > > 
>> > > > > All other variants (like the upcoming request_percpu_irq_affinity())
>> > > > > are missing the flags parameter which we require.
>> > > > > 
>> > > > > This could be backported to all supported dovetail versions. That
>> > > > > would allow co-kernels to switch to the new API unconditionally.
>> > > > > 
>> > > > > Signed-off-by: Florian Bezdeka <[email protected]>
>> > > > > ---
>> > > > >  include/linux/interrupt.h |  5 +++++
>> > > > >  kernel/irq/manage.c       | 10 ++++++++++
>> > > > >  2 files changed, 15 insertions(+)
>> > > > > 
>> > > > > diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
>> > > > > index bf0511b438c65e119af917763ce92a8f3bfb4c4c..6cd8ad02ffbd87f71869d6737fbc8c1ae477c1ee 100644
>> > > > > --- a/include/linux/interrupt.h
>> > > > > +++ b/include/linux/interrupt.h
>> > > > > @@ -213,6 +213,11 @@ request_percpu_irq_affinity(unsigned int irq, irq_handler_t handler,
>> > > > >  				    devname, affinity, percpu_dev_id);
>> > > > >  }
>> > > > >  
>> > > > > +int request_percpu_irq_affinity_flags(unsigned int irq, irq_handler_t handler,
>> > > > > +				      unsigned long flags, const char *devname,
>> > > > > +				      const cpumask_t *affinity,
>> > > > > +				      void __percpu *dev_id);
>> > > > > +
>> > > > > 
>> > > > 
>> > > > Would be nice to get some feedback here. The affinity parameter is
>> > > > currently not in use, but would allow us to provide it in the future.
>> > > > Not sure if that will be necessary...
>> > > > 
>> > > 
>> > > This is what I was wondering as well... When would one need that? Maybe
>> > > in the context of confining Xenomai to a subset of physical CPUs? Would
>> > > be good to check that again.
>> > 
>> > @Philippe: Any thoughts?
>> > 
>> > I would like to complete the 6.19 port on Xenomai side. This is a
>> > blocker right now.
>> > 
>> 
>> To me this is a no-brainer, given that __request_percpu_irq() requires
>> an affinity mask, having request_percpu_irq_affinity_flags() is the only
>> sane way to set all the properties of a per-cpu interrupt, including
>> flags and affinity, in one go. In any case, callers who don't care about
>> such affinity can pass NULL.
>> 
>
> Thanks for the confirmation. 
>
> I will add the series now to the wip/flo/v6.19-dovetail-rebase branch
> and continue with the Xeno 3 adaptions. evl will need the same changes.
> Philippe, can you look into that or should I try to reserve some cycles?
>
> The Xeno 3 testsuite is already passing on that branch.

Ok. I'll handle the x4 updates.

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