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>

Reply via email to