All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: Alexis Berlemont <berlemont.hauw@domain.hid>, xenomai@xenomai.org
Subject: Re: [Xenomai-help] Analogy cmd_write example explanation
Date: Fri, 02 Apr 2010 02:04:27 +0200	[thread overview]
Message-ID: <4BB5348B.2070805@domain.hid> (raw)
In-Reply-To: <4BB52769.4080702@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 3316 bytes --]

Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
>> Gilles Chanteperdrix wrote:
>>> Jan Kiszka wrote:
>>>> Philippe Gerum wrote:
>>>>> On Thu, 2010-04-01 at 23:54 +0200, Jan Kiszka wrote:
>>>>>> Philippe Gerum wrote:
>>>>>>> The bottom line for me, is that T_PRIMARY, as a user-space visible
>>>>>>> "feature" should be dropped at some point, and never ever considered as
>>>>>>> a way to fix the RTDM syscall issue anymore. I don't mind saving an
>>>>>>> extra-context switch even in what I think should be _rare_ cases, but
>>>>>>> this has to be done in a way that does not introduce the same kind of
>>>>>>> misunderstanding the eager mode switching allowed by rt_task_set_mode()
>>>>>>> did in the past.
>>>>>>>
>>>>>>> Really, I'm convinced that an awful lot of people are currently running
>>>>>>> under-performing at best, or even broken applications today, because of
>>>>>>> that, thing.
>>>>>> We are not discussing T_PRIMARY here. We are discussing something like
>>>>>> an "rtdm_is_rt_capable()" addition for those _few_ RTDM drivers that
>>>>>> actually want to provide Ianus-like services.
>>>>>>
>>>>> Yes, we do discuss of T_PRIMARY in between the lines.
>>>>>
>>>> You can take it away, and the rtdm_is_rt_capable-approach would still
>>>> work, but that without affecting existing designs.
>>> Ok. I almost regret I launched this troll. We have discussed some time
>>> with Philippe, and I agree with him that drivers which this change
>>> really broke were already broken. The only side-effect is the double
>>> switch issue, which, per-se is not that much a trouble in real-world
>>> applications. So what I propose is a special RTDM driver flag that would
>>> somehow fix the issue for the switchtest driver, and would only be used
>>> by that driver and not exported in the rtdm headers, and of course not
>>> documented.
>>>
>> No, I'm queuing rtdm_rt_capable() + a revert of the __xn_exec_conforming
>> commit now. That's way less surprising for existing drivers and still
>> does not require user land to fiddle with the mode. All can be handled
>> at driver level (ie. in Analogy, obviously the only driver that needs it
>> so far).
> 
> Because of __xn_exec_current, people have broken drivers, and user-space
> applications using T_PRIMARY as a broken way to workaround these broken
> drivers, and by maintaining compatibility, we let them keep their broken
> drivers and applications, by changing to the more natural
> __xn_exec_conforming and removing T_PRIMARY, we ask them to fix their
> drivers and applications.

Right goal, wrong approach for the reason I pointed out to Philippe:

We cannot map all kinds of driver requirements on a single
__xn_exec_current in the RTDM middle layer. RTDM has insufficient
knowledge about what the drivers will, how many RT and how may non-RT
calls they will provide and what load pattern user space will apply on
this. RTDM can only mediate based on the available information.

The T_PRIMARY issue has to be solved be removing that feature, not by
changing RTDM.

> 
> What we are left to fix is the corner case of switchtest.
> 

...and the performance degeneration of Analogy when used with a plain
Linux tasks - part of the scenario that started this whole discussion.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

  reply	other threads:[~2010-04-02  0:04 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-10 15:26 [Xenomai-help] Analogy cmd_write example explanation Daniele Nicolodi
2010-03-12 23:40 ` Alexis Berlemont
2010-03-13  9:28   ` Philippe Gerum
2010-03-13 16:13     ` Alexis Berlemont
2010-03-13 16:33       ` Philippe Gerum
2010-03-13 23:34         ` Alexis Berlemont
2010-03-14 16:34           ` Philippe Gerum
2010-03-15  7:50             ` Jan Kiszka
2010-03-15 23:30               ` Alexis Berlemont
2010-03-16  8:59                 ` Jan Kiszka
2010-03-18 20:35                 ` Philippe Gerum
2010-03-18 21:14                   ` Alexis Berlemont
2010-03-18 21:39                     ` Philippe Gerum
2010-04-01 19:47             ` Gilles Chanteperdrix
2010-04-01 21:13               ` Jan Kiszka
2010-04-01 21:22                 ` Philippe Gerum
2010-04-01 21:26                   ` Jan Kiszka
2010-04-01 21:31                     ` Philippe Gerum
2010-04-01 21:36                       ` Jan Kiszka
2010-04-01 21:48                         ` Philippe Gerum
2010-04-01 21:54                           ` Jan Kiszka
2010-04-01 22:00                             ` Philippe Gerum
2010-04-01 22:07                               ` Jan Kiszka
2010-04-01 22:53                                 ` Gilles Chanteperdrix
2010-04-01 22:58                                   ` Jan Kiszka
2010-04-01 23:08                                     ` Gilles Chanteperdrix
2010-04-02  0:04                                       ` Jan Kiszka [this message]
2010-04-02 10:39                                         ` [Xenomai-core] " Gilles Chanteperdrix
2010-04-02 11:11                                           ` Jan Kiszka
2010-04-02 11:14                                             ` Gilles Chanteperdrix
2010-04-02 11:28                                               ` Jan Kiszka
2010-04-13 20:41                                                 ` Philippe Gerum
2010-04-13 23:05                                                   ` Jan Kiszka
2010-04-14  7:22                                                     ` Philippe Gerum
2010-04-14  7:37                                                       ` Jan Kiszka
2010-04-14  7:51                                                         ` Jan Kiszka
2010-04-14  9:04                                                         ` Philippe Gerum
2010-04-14 17:13                                                           ` Gilles Chanteperdrix
2010-04-14 19:35                                                           ` Jan Kiszka
2010-04-14  8:24                                                   ` Gilles Chanteperdrix
2010-04-01 21:24               ` Philippe Gerum
2010-04-01 21:39                 ` Jan Kiszka
2010-04-01 21:59                   ` Philippe Gerum
2010-04-01 22:12                     ` Jan Kiszka
2010-04-01 21:50               ` Jan Kiszka
2010-04-01 21:54                 ` Gilles Chanteperdrix

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=4BB5348B.2070805@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=berlemont.hauw@domain.hid \
    --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.