Re: ipipe 4.19: spurious APIC interrupt when setting rt_igp to up

2019-07-09 Thread Jan Kiszka via Xenomai
On 09.07.19 18:33, Jan Kiszka wrote:
> On 09.07.19 18:21, Lange Norbert wrote:
>> Hello,
>>
>> maxcpus=1 still causes the spurious int, this time fully locking up.
>>
>> I attached the debug/irq directory after the cause.
>>> Some things that might be relevant:
>> -   the SOC would use PINCTRL_BROXTON under linux, but this is disabled (not 
>> fixed up for Xenomai)
>> -   I have the regular igb driver in use, and am unbinding the network card 
>> prior to binding the rt_igp driver
>>
> 
> Thanks. What's the interrupt number that Xenomai is using? Should be the same
> that the Linux driver is using as well.

Found already: Should be IRQ 130-132 for device 00:03.0. If the directory state
was like that while Xenomai was still holding those interrupts, the problem it
that there are no vectors assigned to them. Can you confirm that rt_igb was
still loaded and the interface was up?

Are those interrupts MSI or MSI-X? Can't read that from the logs.

I probably need to get some rt_igb running somewhere...

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux



RE: ipipe 4.19: spurious APIC interrupt when setting rt_igp to up

2019-07-09 Thread Lange Norbert via Xenomai
> >>>
> >>>  raw_spin_lock_irqsave(>lock, flags);
> >>> -   if (desc->istate & IPIPE_IRQS_NEEDS_STARTUP) {
> >>> +   if (desc->istate & IPIPE_IRQS_NEEDS_STARTUP &&
> >>> +   !WARN_ON(irq_activate(desc))) {
> >>>  desc->istate &= ~IPIPE_IRQS_NEEDS_STARTUP;
> >>>  chip->irq_startup(>irq_data);
> >>>  }
> >>
> >> Problem still persists for me with that patch. I use a nfsroot (with
> >> a
> >> USB->ETH adapter so I can kick out the linux igb driver),
> >> Maybe that’s related.
> >
> > Does reducing your machine to maxcpus=1 resolve the issue? I could
> > imagine we an affinity problem on top.
> >
>
> We do have an affinity problem, will try to fix it soon, but that didn't 
> allow me
> to reproduce your issue with my patch applied.
>
> Could you turn on CONFIG_GENERIC_IRQ_DEBUGFS and grab the content of
> /sys/kernel/debug/irq? Maybe Linux considers the interrupt in question
> here as "affinity managed by kernel", and then my patch is nop. Still need to
> understand all implications of this managed mode for I-pipe.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate
> Competence Center Embedded Linux


This message and any attachments are solely for the use of the intended 
recipients. They may contain privileged and/or confidential information or 
other information protected from disclosure. If you are not an intended 
recipient, you are hereby notified that you received this email in error and 
that any review, dissemination, distribution or copying of this email and any 
attachment is strictly prohibited. If you have received this email in error, 
please contact the sender and delete the message and any attachment from your 
system.

ANDRITZ HYDRO GmbH


Rechtsform/ Legal form: Gesellschaft mit beschränkter Haftung / Corporation

Firmensitz/ Registered seat: Wien

Firmenbuchgericht/ Court of registry: Handelsgericht Wien

Firmenbuchnummer/ Company registration: FN 61833 g

DVR: 0605077

UID-Nr.: ATU14756806


Thank You

-- next part --
A non-text attachment was scrubbed...
Name: debugirq.tar.xz
Type: application/octet-stream
Size: 1808 bytes
Desc: debugirq.tar.xz
URL: 
<http://xenomai.org/pipermail/xenomai/attachments/20190709/8de577f3/attachment.obj>


Best way to detect if a filedescriptor is a cobalt filedescriptor (/socket)

2019-07-09 Thread Lange Norbert via Xenomai
Hi,

I am opening a packetsocket, which is supposed to be realtime. Unfortunatly if 
the rtpacket (rtnet?) module is not loaded,
then this will just silently fall back to a linux packet socket. Then later 
demote thread during accesses.

How would I be able to detect this early during startup? I could __STD(close) 
the descriptor and check the returncode for EBADF I suppose...


Mit besten Grüßen / Kind regards

NORBERT LANGE
AT-DES

ANDRITZ HYDRO GmbH
Eibesbrunnergasse 20
1120 Vienna / AUSTRIA
p: +43 50805 56684
norbert.la...@andritz.com
andritz.com


This message and any attachments are solely for the use of the intended 
recipients. They may contain privileged and/or confidential information or 
other information protected from disclosure. If you are not an intended 
recipient, you are hereby notified that you received this email in error and 
that any review, dissemination, distribution or copying of this email and any 
attachment is strictly prohibited. If you have received this email in error, 
please contact the sender and delete the message and any attachment from your 
system.

ANDRITZ HYDRO GmbH


Rechtsform/ Legal form: Gesellschaft mit beschränkter Haftung / Corporation

Firmensitz/ Registered seat: Wien

Firmenbuchgericht/ Court of registry: Handelsgericht Wien

Firmenbuchnummer/ Company registration: FN 61833 g

DVR: 0605077

UID-Nr.: ATU14756806


Thank You