On Friday, November 15, 2019 7:07 AM, Jan Kiszka <jan.kis...@siemens.com> wrote: > On 15.11.19 01:16, Jeff Webb wrote: > > > On Thursday, November 14, 2019 3:41 PM, Jan Kiszka jan.kis...@siemens.com > > wrote: > > > > > On 14.11.19 14:16, Jeff Webb wrote: > > > > > > > On Thursday, November 14, 2019 1:50 AM, Jan Kiszka > > > > jan.kis...@siemens.com 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. > > > > Today I had a chance to make a build based on the > > ipipe-core-4.19.75-x86-7.patch with xenomai-3.1-rc3. I haven't had a chance > > to test it thoroughly, but I think it works. I am sorry I didn't try this > > earlier, and thanks for the reminder to do so. Since a 4.19 patch wasn't > > available back in early March when I first had the trouble, I got fixated > > on the fact that things worked with very old kernels and forgot to try 4.19 > > when I started looking into this again. I will continue to test and let you > > know if I find any issues. > > I'm also not seeing the problems I have with 4.4 + intremap on 4.19, > despite all debug features on. OK, let's check what we are missing down > there...
Just FYI, I did go back and try intremap=off on 4.4.196-xenomai-3.1-rc3-cip38, and it works (as you expected). Also, I looked at my kernel logs in more detail, and discovered that there are several instances of a kernel BUG message after boot, but then I don't see any more of them later on. The intremap setting doesn't seem to affect the presence of these messages. This is the message for 4.4.196-xenomai-3.1-rc3-cip38: [ 53.697717] kernel BUG at kernel/auditsc.c:1502! [ 53.698132] invalid opcode: 0000 [#1] SMP There are similar messages with 4.19.75-xenomai-3.1-rc3: [ 65.546333] kernel BUG at kernel/auditsc.c:1527! [ 79.054396] invalid opcode: 0000 [#2] SMP PTI I have attached some log file excerpts that cover several reboots with the two kernels and also with intermap=off for 4.4. These messages may be unrelated to all this, but let me know if I should investigate further. Thanks, -Jeff -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: syslog.txt URL: <http://xenomai.org/pipermail/xenomai/attachments/20191115/440d9883/attachment.txt>