‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, November 14, 2019 1:50 AM, Jan Kiszka <[email protected]> 
wrote:
> On 14.11.19 06:05, Jeff Webb via Xenomai wrote:
> > I would like to revive this thread from several months ago:
> > https://xenomai.org/pipermail/xenomai/2019-March/040498.html
> > The issue is that on some hardware (a specific rack-mount PC with a PICMG 
> > daughtercard on a backplane containing PCI and PCIe slots) I get an 
> > INTR-REMAP error when trying to receive legacy (not MSI) interrupts from a 
> > custom FPGA-based PCI card using a UDD driver. The card did work properly 
> > in one out of the five PCI slots on that machine, but UDD interrupts did 
> > not work in the other four slots.
> > Please review the original thread for more details about the specific error.
> > Here are a few more tidbits I have gathered:
> >
> > -   The UDD driver / userspace code works fine on the other hardware
> >
> > -   The UDD driver / userspace code works fine in one PCI slot out of five 
> > on this hardware.
> >
> > -   With another backplane model, but same processor card, the problem 
> > occurs in all four of the PCI slots.
> >
> > -   An almost identical pure-linux UIO version of the driver / userspace 
> > code works in all the cases I tested, even when the UDD version fails, and 
> > even with the same xenomai-patched kernel used for UDD testing.
> >
> >
> > In one of the previous posts in this thread a few months ago, Per Öberg 
> > mentioned experiencing something similar. Based on the information that was 
> > shared, I tried my code with linux version 4.9.38, but it still failed. 
> > This prompted me to try other linux / ipipe / xenomai combinations. These 
> > are my findings:
> > Interrupts work:
> > xenomai-2.6.5 ipipe-core-3.18.20-x86-7.patch (2016-07-05)
> > xenomai-3.0.9+ ipipe-core-3.18.20-x86-7.patch (2016-07-05)
> > xenomai-3.0.9+ ipipe-core-4.1.18-x86-9.patch (2017-05-25)
> > INTR-REMAP error:
> > xenomai-3.0.9+ ipipe-core-4.4.43-x86-6.patch (2017-02-25)
> > xenomai-3.0.9+ ipipe-core-4.4.43-x86-7.patch (2017-05-25)
> > xenomai-3.0.9+ ipipe-core-4.4.43-x86-8.patch (2017-06-14)
> > xenomai-3.1-rc3 ipipe-core-4.4.196-cip38-x86-19.patch (2019-11-04)
> > xenomai-3.0.9+ ipipe-core-4.9.38-x86-4.patch (2017-10-03)
> > xenomai-3.0.9 ipipe-core-4.14.132-x86-6.patch (2019-07-03)
> > The Xenomai 2.6.5 version of course does not use UDD, but uses the old 
> > pthread_intr_* userspace functions.
> > Hopefully this additional information can shed a little light on the matter.
>
> This sounds like some RT interrupt enabling issue related to the IOAPIC
> in the x86 I-pipe patch. Please also test 4.19.

Ok, I will do this.

> Are you using UDD_IRQ_CUSTOM or do you leave the interrupt registration
> to the UDD core?

I just tell UDD the IRQ number and let it register the interrupt.

> And please share your kernel config.

I attached one to my original post earlier this year -- you should be able to 
download it from the link in the mailing list archive.  Let me know if you need 
something different.  I started with the standard Ubuntu desktop kernel config 
and tweaked options from there, so there is a lot of stuff enabled, obviously.

> BTW, interrupt remapping issues can be worked around by disabling the
> interrupt remapping feature (e.g. "intremap=off"). But that does not
> solve the unterlying issue, of course.

I can't remember if I tried this or not.  I will give it a go.  Obviously, it 
would be good to get this fixed in the patch, though.

Thank you (and Per Öberg) for your help.

-Jeff


Reply via email to