On 2011-03-03 13:25, Wolfgang Grandegger wrote:
> Hi Philippe,
> 
> On 03/03/2011 08:32 AM, Philippe Gerum wrote:
>> On Thu, 2011-03-03 at 08:21 +0100, Richard Cochran wrote:
>>> On Wed, Mar 02, 2011 at 07:18:46PM +0100, Jan Kiszka wrote:
>>>> On 2011-03-02 16:26, Gilles Chanteperdrix wrote:
>>>>> Richard Cochran wrote:
>>>>>> The wiki pages 
>>>>>>
>>>>>>    http://www.xenomai.org/index.php/FAQs
>>>>>>    http://www.xenomai.org/index.php/Configuring_x86_kernels
>>>>>>
>>>>>> say not to enable MSI on x86, with a link to a very old (2008)
>>>>>> discussion.
>>>
>>> ...
>>>
>>>> The current situation looks like this:
>>>>  - MSI[-X] usage for plain Linux drivers is fine, we are using it on
>>>>    machines where you can hardly avoid MSI today
>>>>  - MSI[-X] usage for RTDM (ie. RT) drivers is basically fine as long as
>>>>    you avoid enabling/disabling from RT context (also used for quite
>>>>    a while here, no known issues under this restriction)
>>>
>>> Okay, so I understand from this:
>>>
>>> 1. The wiki warning is out of date.
>>>
>>> 2. My own PCIe MSI driver/card *should* work.
>>>    (It is not a current known limitation of adeos/xenomai.)
>>
>> The situation is not that clear. Enabling CONFIG_PCI_MSI on some 83xx
>> board did cause a lock up at boot for me, so this may point the finger
>> at the pipeline core for ppc, and not to Xenomai which was barely active
>> at that stage.
> 
> Now I remember vaguely that we have seen a similar issue on the mpc8308
> in autumn last year. Here is what you wrote that time:
> 
> On 09/29/2010 04:12 PM, Philippe Gerum wrote:
>> Ok, I have a good news: the issue is spotted; and a bad one: this is no
>> trivial stuff to fix. In short, CONFIG_PCI_MSI causes the PIC code to
>> read PCI config memory on the fly during operations (which is intensely
>> insane but that is how it goes). Of course, it does that via the regular
>> PCI helpers, which are stuffed with normal locking constructs we may
>> _not_ call from any real-time/non-regular context.
>>
>> To sum up, we need to call those helpers to ack/mask interrupts within
>> the I-pipe, but we are not allowed to do this because this is inherently
>> unsafe.
>>
>> Work-around: disable CONFIG_PCI_MSI in your configuration.
>> The real fix would require much more thought, to make the PCI helpers
>> Adeos-aware without inducing high latency.

As MSIs are edge-triggered, only requiring ack at the interrupt
controller level, could it be that PPC is using the wrong flow handler here?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to