All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: Xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] arm: Late delivery of pending Linux signals?
Date: Wed, 18 Feb 2015 20:17:26 +0100	[thread overview]
Message-ID: <54E4E546.8080801@siemens.com> (raw)
In-Reply-To: <20150218190549.GI30317@hermes.click-hack.org>

On 2015-02-18 20:05, Gilles Chanteperdrix wrote:
> On Wed, Feb 18, 2015 at 08:00:54PM +0100, Jan Kiszka wrote:
>> On 2015-02-18 19:49, Gilles Chanteperdrix wrote:
>>> On Wed, Feb 18, 2015 at 07:46:02PM +0100, Jan Kiszka wrote:
>>>> On 2015-02-18 19:26, Gilles Chanteperdrix wrote:
>>>>> On Wed, Feb 18, 2015 at 07:21:41PM +0100, Jan Kiszka wrote:
>>>>>> On 2015-02-18 19:13, Gilles Chanteperdrix wrote:
>>>>>>> On Wed, Feb 18, 2015 at 07:12:43PM +0100, Jan Kiszka wrote:
>>>>>>>> On 2015-02-18 18:55, Gilles Chanteperdrix wrote:
>>>>>>>>> On Wed, Feb 18, 2015 at 06:52:14PM +0100, Jan Kiszka wrote:
>>>>>>>>>> Hi Gilles,
>>>>>>>>>>
>>>>>>>>>> I noticed on ARM (AM335 TI board) that the SIGDEBUG if the related test
>>>>>>>>>> apparently only gets delivered to the receiver after it invokes a
>>>>>>>>>> syscall, not on return from its secondary mode migration. Therefore the
>>>>>>>>>> page fault test of the sigdebug smokey test fails (tested with Xenomai
>>>>>>>>>> 3), and I bet the watchdog test as well. Is this a known limitation?
>>>>>>>>>
>>>>>>>>> Xenomai 2.6 sigdebug works fine on omap3 (very near from an
>>>>>>>>
>>>>>>>> Will try 2.6 next.
>>>>>>>>
>>>>>>>>> arm33xx). That being said, the AM3xx port is not part of the main
>>>>>>>>> line I-pipe, and based on a non mainline kernel, so it is difficult
>>>>>>>>> for me to answer this question.
>>>>>>>>
>>>>>>>> Then I'm possibly not building all recommended bits - I'm on 3.14 I-pipe
>>>>>>>> upstream. That seems to work fine in general. Which version are you
>>>>>>>> referring to?
>>>>>>>
>>>>>>> The one documented in arm/patches/README
>>>>>>
>>>>>> https://github.com/RobertCNelson/linux-dev/commits/am33x-v3.8? There is
>>>>>> nothing explicitly stated regarding the AM3xx board, just that reference
>>>>>> in the context of the Beaglebone.
>>>>>>
>>>>>> Anyway, I thought that syscall and exception handling should not be
>>>>>> dependent on board patches, should they?
>>>>>
>>>>> If you had been using a Linux fork (which I assumed you did,
>>>>> because you mentioned a processor which is not mainline officially),
>>>>> it would have been very possible for the Linux fork you used to
>>>>> break the changes in entry.S due to a bad conflict resolution.
>>>>> Linux forks very often tend to push changes in generic code even
>>>>> though they should not.
>>>>
>>>> The TI AM335x (Cortex-A8) comes with full mainline support, even for
>>>> 3.14. That's probably why vanilla I-pipe 3.14 works for us.
>>>>
>>>> Against all odds, I just got Debian installed into an Integrator/CP
>>>> machine model. Let's see if I can debug the issue that way. But I will
>>>> keep porting I-pipe to the Versatile Express in mind.
>>>
>>> If you have an ARM board, why going over all these contorsions? Why
>>> not simply enabling the I-pipe tracer and looking at what happens
>>> when you observe the problem you observe ?
>>
>> Because it's easier to debug than to trace such an issue. Emulation, and
>> even more virtualization, is more handy than real hw. E.g., this
>> particular board has the nice feature of not booting up automatically
>> when being power-cycled.
> 
> I would tend to think that having to port the I-pipe to a virtual
> board consumes useless time, and useless maintenance time (because
> once you add the support for a board it takes time to maintain it),
> as is installing a debian distribution for that virtual board.
> During all that time you would have had the time to fix the bug 10
> times using printk and the I-pipe tracer. And also, ARM processors
> have a nice feature called JTAG, which is much more reliable than
> hoping that a virtual hardware will have the same behaviour than
> real hardware.

The Versatile Express is the ARM reference board, not something
arbitrary virtual. It's also what you get when you obtain the Fast Model
(CPU and system emulator) from ARM.

Yes, there is JTAG, but virtual debugging still covers most of our
problems and remains faster (shorter setup and boot times). Almost all
of the nasty x86 issues I hacked on in the past yeats were reproducible
in KVM.

Another advantage is that a virtual target makes automated testing much
more scalable as it becomes independent of the availability of physical
targets.

Oh, and QEMU is about to gain reverse execution support. That's out of
reach with real hw.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux


  reply	other threads:[~2015-02-18 19:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-18 17:52 [Xenomai] arm: Late delivery of pending Linux signals? Jan Kiszka
2015-02-18 17:55 ` Gilles Chanteperdrix
2015-02-18 18:12   ` Jan Kiszka
2015-02-18 18:13     ` Gilles Chanteperdrix
2015-02-18 18:21       ` Jan Kiszka
2015-02-18 18:23         ` Gilles Chanteperdrix
2015-02-18 18:26         ` Gilles Chanteperdrix
2015-02-18 18:46           ` Jan Kiszka
2015-02-18 18:49             ` Gilles Chanteperdrix
2015-02-18 19:00               ` Jan Kiszka
2015-02-18 19:05                 ` Gilles Chanteperdrix
2015-02-18 19:17                   ` Jan Kiszka [this message]
2015-02-18 19:27                     ` Gilles Chanteperdrix
2015-02-18 19:39                       ` Gilles Chanteperdrix
2015-02-18 20:49                       ` Jan Kiszka
2015-02-18 20:56                         ` Gilles Chanteperdrix
2015-02-18 21:00                         ` Gilles Chanteperdrix
2015-02-18 21:28                           ` Jan Kiszka
2015-02-19 14:32                             ` [Xenomai] [PATCH] arm/ipipe: Fix logical inversion in ret_from_exception Jan Kiszka
2015-02-19 14:40                               ` Gilles Chanteperdrix
2015-02-19 14:43                                 ` Jan Kiszka
2015-02-19 14:46                                   ` Gilles Chanteperdrix
2015-02-19 15:13                         ` [Xenomai] arm: Late delivery of pending Linux signals? Lennart Sorensen
2015-02-19 15:16                           ` Lennart Sorensen
2015-02-19 17:13                           ` Philippe Gerum
2015-02-19 17:25                             ` Lennart Sorensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54E4E546.8080801@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=gilles.chanteperdrix@xenomai.org \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.