All of lore.kernel.org
 help / color / mirror / Atom feed
* [CXP][RFC] pick POSIX/cobalt for the common user API
@ 2020-12-06 10:46 Philippe Gerum
  2020-12-07  2:16 ` chensong
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Philippe Gerum @ 2020-12-06 10:46 UTC (permalink / raw)
  To: xenomai


The common Xenomai platform specification is about defining the
commonalities among future Xenomai releases starting from 3.3, including
the Xenomai 4 series based on a next generation (EVL) core. A common API
available to applications for issuing requests to the real-time core is
part of this specification.

Implementing such interface would not preclude other APIs from
co-existing in particular releases. However, use of this common API
only would guarantee portability across releases.

Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
interface.

PROPOSAL: Pick libcobalt as the common API defined by the CXP.

As a consequence, Xenomai 4 would provide two direct interfaces to the
underlying EVL core: via the libevl API [1] which is readily
available, and its own implementation of libcobalt as part of a CXP
compliance.

                  applications
      ....................................
      libalchemy            libevl libcobalt
           |                  |      |
           |                  |      |
      libcopperplate          |      |
           |                  |      |
           |                  |      |
       libcobalt              |      |
           |                  |      |
           v                  v      v
     (Cobalt core)           (EVL core)
      -----------            ---------
      Xenomai 3.x            Xenomai 4


Thanks,

[1] https://evlproject.org/core/user-api/

-- 
Philippe.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-06 10:46 [CXP][RFC] pick POSIX/cobalt for the common user API Philippe Gerum
@ 2020-12-07  2:16 ` chensong
  2020-12-07 10:12   ` Philippe Gerum
  2020-12-07 13:58   ` Wolfgang Denk
       [not found] ` <5fcd902b.1c69fb81.79300.444fSMTPIN_ADDED_BROKEN@mx.google.com>
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 12+ messages in thread
From: chensong @ 2020-12-07  2:16 UTC (permalink / raw)
  To: xenomai

hi Philippe,

As far as i know, some vxworks customers like xenomai because they can 
move their RT processes from vxworks to linux without rewriting their 
code by the help of vxworks skin.

If we "Excluding the legacy RTOS emulators such as VxWorks", we will 
lose them. It could depend on the balance of the request and effort.

BR

song

On 2020年12月06日 18:46, Philippe Gerum via Xenomai wrote:
>
> The common Xenomai platform specification is about defining the
> commonalities among future Xenomai releases starting from 3.3, including
> the Xenomai 4 series based on a next generation (EVL) core. A common API
> available to applications for issuing requests to the real-time core is
> part of this specification.
>
> Implementing such interface would not preclude other APIs from
> co-existing in particular releases. However, use of this common API
> only would guarantee portability across releases.
>
> Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
> 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> interface.
>
> PROPOSAL: Pick libcobalt as the common API defined by the CXP.
>
> As a consequence, Xenomai 4 would provide two direct interfaces to the
> underlying EVL core: via the libevl API [1] which is readily
> available, and its own implementation of libcobalt as part of a CXP
> compliance.
>
>                    applications
>        ....................................
>        libalchemy            libevl libcobalt
>             |                  |      |
>             |                  |      |
>        libcopperplate          |      |
>             |                  |      |
>             |                  |      |
>         libcobalt              |      |
>             |                  |      |
>             v                  v      v
>       (Cobalt core)           (EVL core)
>        -----------            ---------
>        Xenomai 3.x            Xenomai 4
>
>
> Thanks,
>
> [1] https://evlproject.org/core/user-api/
>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
       [not found] ` <5fcd902b.1c69fb81.79300.444fSMTPIN_ADDED_BROKEN@mx.google.com>
@ 2020-12-07  6:59   ` Greg Gallagher
  2020-12-07  8:09     ` chensong
  0 siblings, 1 reply; 12+ messages in thread
From: Greg Gallagher @ 2020-12-07  6:59 UTC (permalink / raw)
  To: chensong; +Cc: Xenomai@xenomai.org

On Sun, Dec 6, 2020 at 9:15 PM chensong via Xenomai <xenomai@xenomai.org>
wrote:

> hi Philippe,
>
> As far as i know, some vxworks customers like xenomai because they can
> move their RT processes from vxworks to linux without rewriting their
> code by the help of vxworks skin.
>
> These are legacy vxworks applications?


> If we "Excluding the legacy RTOS emulators such as VxWorks", we will
> lose them. It could depend on the balance of the request and effort.
>
It might make sense to only support the vxworks skin, would any of these
users be willing to help with support?

-Greg


>
> BR
>
> song
>
> On 2020年12月06日 18:46, Philippe Gerum via Xenomai wrote:
> >
> > The common Xenomai platform specification is about defining the
> > commonalities among future Xenomai releases starting from 3.3, including
> > the Xenomai 4 series based on a next generation (EVL) core. A common API
> > available to applications for issuing requests to the real-time core is
> > part of this specification.
> >
> > Implementing such interface would not preclude other APIs from
> > co-existing in particular releases. However, use of this common API
> > only would guarantee portability > Excluding the legacy RTOS emulators
> such as VxWorks and pSOS, Xenomai
> > 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> > custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> > interface.
> >
> > PROPOSAL: Pick libcobalt as the common API defined by the CXP.
> >
> > As a consequence, Xenomai 4 would provide two direct interfaces to the
> > underlying EVL core: via the libevl API [1] which is readily
> > available, and its own implementation of libcobalt as part of a CXP
> > compliance.
> >
> >                    applications
> >        ....................................
> >        libalchemy            libevl libcobalt
> >             |                  |      |
> >             |                  |      |
> >        libcopperplate          |      |
> >             |                  |      |
> >             |                  |      |
> >         libcobalt              |      |
> >             |                  |      |
> >             v                  v      v
> >       (Cobalt core)           (EVL core)
> >        -----------            ---------
> >        Xenomai 3.x            Xenomai 4
> >
> >
> > Thanks,
> >
> > [1] https://evlproject.org/core/user-api/
> >
>
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-07  6:59   ` Greg Gallagher
@ 2020-12-07  8:09     ` chensong
  0 siblings, 0 replies; 12+ messages in thread
From: chensong @ 2020-12-07  8:09 UTC (permalink / raw)
  To: Greg Gallagher; +Cc: Xenomai@xenomai.org



On 2020年12月07日 14:59, Greg Gallagher wrote:
>
>
> On Sun, Dec 6, 2020 at 9:15 PM chensong via Xenomai <xenomai@xenomai.org
> <mailto:xenomai@xenomai.org>> wrote:
>
>     hi Philippe,
>
>     As far as i know, some vxworks customers like xenomai because they can
>     move their RT processes from vxworks to linux without rewriting their
>     code by the help of vxworks skin.
>
> These are legacy vxworks applications?

yes, legacy vxworks apps, i heard of that from marketing guys, they are 
trying to move to linux, xenomai is a perfect alternative in this case.

i was also asked to write a demo with vxworks skin.

>
>     If we "Excluding the legacy RTOS emulators such as VxWorks", we will
>     lose them. It could depend on the balance of the request and effort.
>
> It might make sense to only support the vxworks skin, would any of these
> users be willing to help with support?
>
i'm not sure, we can talk about it when we get that place, either users 
or i can apply resources in our R&D.

song

> -Greg
>
>
>     BR
>
>     song
>
>     On 2020年12月06日 18:46, Philippe Gerum via Xenomai wrote:
>      >
>      > The common Xenomai platform specification is about defining the
>      > commonalities among future Xenomai releases starting from 3.3,
>     including
>      > the Xenomai 4 series based on a next generation (EVL) core. A
>     common API
>      > available to applications for issuing requests to the real-time
>     core is
>      > part of this specification.
>      >
>      > Implementing such interface would not preclude other APIs from
>      > co-existing in particular releases. However, use of this common API
>      > only would guarantee portability > Excluding the legacy RTOS
>     emulators such as VxWorks and pSOS, Xenomai
>      > 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
>      > custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
>      > interface.
>      >
>      > PROPOSAL: Pick libcobalt as the common API defined by the CXP.
>      >
>      > As a consequence, Xenomai 4 would provide two direct interfaces
>     to the
>      > underlying EVL core: via the libevl API [1] which is readily
>      > available, and its own implementation of libcobalt as part of a CXP
>      > compliance.
>      >
>      >                    applications
>      >        ....................................
>      >        libalchemy            libevl libcobalt
>      >             |                  |      |
>      >             |                  |      |
>      >        libcopperplate          |      |
>      >             |                  |      |
>      >             |                  |      |
>      >         libcobalt              |      |
>      >             |                  |      |
>      >             v                  v      v
>      >       (Cobalt core)           (EVL core)
>      >        -----------            ---------
>      >        Xenomai 3.x            Xenomai 4
>      >
>      >
>      > Thanks,
>      >
>      > [1] https://evlproject.org/core/user-api/
>      >
>




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-07  2:16 ` chensong
@ 2020-12-07 10:12   ` Philippe Gerum
  2020-12-08  1:22     ` chensong
  2020-12-07 13:58   ` Wolfgang Denk
  1 sibling, 1 reply; 12+ messages in thread
From: Philippe Gerum @ 2020-12-07 10:12 UTC (permalink / raw)
  To: chensong; +Cc: xenomai


Hi,

chensong via Xenomai <xenomai@xenomai.org> writes:

> hi Philippe,
>
> As far as i know, some vxworks customers like xenomai because they can
> move their RT processes from vxworks to linux without rewriting their 
> code by the help of vxworks skin.
>
> If we "Excluding the legacy RTOS emulators such as VxWorks", we will
> lose them. It could depend on the balance of the request and effort.
>

There are two different aspects to consider. First, there is the CXP
which should define a common ground between future Xenomai releases
starting from 3.3, which is different from deciding on the feature set
such releases would include in total eventually. We may want a given
Xenomai release to support multiple APIs, which would definitely include
the one specified by the CXP.

In that sense, I'm only excluding the VxWorks API as a possible choice
for the common API specified by the CXP since this would have no upside
with respect to usability or portability from Xenomai 3.x to 4.x. I was
not referring to the presence of the VxWorks API in future Xenomai 3.x
releases, although the complete lack of feedback from users regarding
the RTOS emulators may simply mean that most projects already moved away
from these legacy APIs anyway.

Next, there is the question of whether the VxWorks API, and generally
speaking RTOS emulators should be present in Xenomai 4. I'm going to
oppose to such inclusion. These are my reasons:

- as I just hinted at, I believe that too few projects might still be
  interested in moving from VxWorks to Linux based on API emulation
  these days, at least not enough to justify the cost of maintaining
  RTOS emulators. I reckon that most of the legacy apps which should
  move to Linux already did so by now, many of them based on API
  conversion instead (e.g. VxWorks -> POSIX). We need to keep in mind
  that those emulators only cover the BSP-independent APIs, those which
  can be easily converted to another dialect because there is no
  hardware-related specifics, with their underlying semantics being very
  similar (e.g. VxWorks mutex-typed sema4s and POSIX mutexes are quite
  close in essence).

- generally speaking, Xenomai 4 is going to be all about simplicity and
  resource-efficiency, in order to address use cases, which I believe
  are beyond native preemption's reach: meeting ultra-low latency
  requirements reliably without having to play whack-a-mole with tricky
  runtime settings, regardless of the ongoing system stress, down to
  low-end hardware. We should be heading for a real-time sub-system
  which just delivers out of the box once enabled in the kernel, nicely
  integrated into the Linux environment, not on the edge of it. Basic
  but usable, simple but efficient. Among other things, this should
  involve a limited set of dedicated APIs, all with native support from
  the real-time core, which is to say without requiring any mediating
  layer like libcopperplate. As a matter of fact, libcopperplate was
  designed as a set of common blocks for implementing non-native APIs
  like RTOS emulators on top of a native interface.

- the Xenomai project has always run on a very limited amount of human
  resources, including for implementing and more importantly maintaining
  APIs. Each additional API is one burden more for Xenomai contributors
  to maintain, and users to comprehend.  I'd rather make sure that a
  single API is shared and exercised by many users, properly maintained
  and documented, compared to having many - potentially unused - APIs
  diluting the maintenance effort.

-- 
Philippe.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-07  2:16 ` chensong
  2020-12-07 10:12   ` Philippe Gerum
@ 2020-12-07 13:58   ` Wolfgang Denk
  2020-12-11  6:12     ` chensong
  1 sibling, 1 reply; 12+ messages in thread
From: Wolfgang Denk @ 2020-12-07 13:58 UTC (permalink / raw)
  To: chensong, chensong via Xenomai

Dear Chensong,

In message <5FCD907C.6040309@tj.kylinos.cn>+BA6FC9DAC615AEA6 you wrote:
>
> As far as i know, some vxworks customers like xenomai because they can 
> move their RT processes from vxworks to linux without rewriting their 
> code by the help of vxworks skin.

I agree - we also had customers who used this - but that was may
years ago, and I haven't seen any such request for at least 5 years,
probably more.

> If we "Excluding the legacy RTOS emulators such as VxWorks", we will 
> lose them. It could depend on the balance of the request and effort.

I think we should move on and not get ourself stuck in "maybe
someone still needs it" compatibility issues.  If such users still
exist, they can speak up here, and offer to cover the needed efforts
to add and maintain such a compatibility layer again.

I would not hold my breath waiting for such volunteers, though...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
READ THIS BEFORE OPENING PACKAGE: According to Certain Suggested Ver-
sions of the Grand Unified Theory, the Primary Particles Constituting
this Product May Decay to Nothingness Within the  Next  Four  Hundred
Million Years.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-07 10:12   ` Philippe Gerum
@ 2020-12-08  1:22     ` chensong
  0 siblings, 0 replies; 12+ messages in thread
From: chensong @ 2020-12-08  1:22 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: xenomai

clear to me, many thanks.

BR

chensong

On 2020年12月07日 18:12, Philippe Gerum wrote:
>
> Hi,
>
> chensong via Xenomai <xenomai@xenomai.org> writes:
>
>> hi Philippe,
>>
>> As far as i know, some vxworks customers like xenomai because they can
>> move their RT processes from vxworks to linux without rewriting their
>> code by the help of vxworks skin.
>>
>> If we "Excluding the legacy RTOS emulators such as VxWorks", we will
>> lose them. It could depend on the balance of the request and effort.
>>
>
> There are two different aspects to consider. First, there is the CXP
> which should define a common ground between future Xenomai releases
> starting from 3.3, which is different from deciding on the feature set
> such releases would include in total eventually. We may want a given
> Xenomai release to support multiple APIs, which would definitely include
> the one specified by the CXP.
>
> In that sense, I'm only excluding the VxWorks API as a possible choice
> for the common API specified by the CXP since this would have no upside
> with respect to usability or portability from Xenomai 3.x to 4.x. I was
> not referring to the presence of the VxWorks API in future Xenomai 3.x
> releases, although the complete lack of feedback from users regarding
> the RTOS emulators may simply mean that most projects already moved away
> from these legacy APIs anyway.
>
> Next, there is the question of whether the VxWorks API, and generally
> speaking RTOS emulators should be present in Xenomai 4. I'm going to
> oppose to such inclusion. These are my reasons:
>
> - as I just hinted at, I believe that too few projects might still be
>    interested in moving from VxWorks to Linux based on API emulation
>    these days, at least not enough to justify the cost of maintaining
>    RTOS emulators. I reckon that most of the legacy apps which should
>    move to Linux already did so by now, many of them based on API
>    conversion instead (e.g. VxWorks -> POSIX). We need to keep in mind
>    that those emulators only cover the BSP-independent APIs, those which
>    can be easily converted to another dialect because there is no
>    hardware-related specifics, with their underlying semantics being very
>    similar (e.g. VxWorks mutex-typed sema4s and POSIX mutexes are quite
>    close in essence).
>
> - generally speaking, Xenomai 4 is going to be all about simplicity and
>    resource-efficiency, in order to address use cases, which I believe
>    are beyond native preemption's reach: meeting ultra-low latency
>    requirements reliably without having to play whack-a-mole with tricky
>    runtime settings, regardless of the ongoing system stress, down to
>    low-end hardware. We should be heading for a real-time sub-system
>    which just delivers out of the box once enabled in the kernel, nicely
>    integrated into the Linux environment, not on the edge of it. Basic
>    but usable, simple but efficient. Among other things, this should
>    involve a limited set of dedicated APIs, all with native support from
>    the real-time core, which is to say without requiring any mediating
>    layer like libcopperplate. As a matter of fact, libcopperplate was
>    designed as a set of common blocks for implementing non-native APIs
>    like RTOS emulators on top of a native interface.
>
> - the Xenomai project has always run on a very limited amount of human
>    resources, including for implementing and more importantly maintaining
>    APIs. Each additional API is one burden more for Xenomai contributors
>    to maintain, and users to comprehend.  I'd rather make sure that a
>    single API is shared and exercised by many users, properly maintained
>    and documented, compared to having many - potentially unused - APIs
>    diluting the maintenance effort.
>




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-07 13:58   ` Wolfgang Denk
@ 2020-12-11  6:12     ` chensong
  0 siblings, 0 replies; 12+ messages in thread
From: chensong @ 2020-12-11  6:12 UTC (permalink / raw)
  To: Wolfgang Denk, chensong via Xenomai

Mr. Denk,

Thanks a lot for the explanation, now it's clear to me.

My concern was, it's a competition outside, RTOS emulators might be 
additional value xenomai brings to customers besides low and 
deterministic latency.

If we think nobody benefits, we should move on and focus on what is 
defined in CXP.

Thanks again and best regards,

Song

On 2020年12月07日 21:58, Wolfgang Denk wrote:
> Dear Chensong,
>
> In message <5FCD907C.6040309@tj.kylinos.cn>+BA6FC9DAC615AEA6 you wrote:
>>
>> As far as i know, some vxworks customers like xenomai because they can
>> move their RT processes from vxworks to linux without rewriting their
>> code by the help of vxworks skin.
>
> I agree - we also had customers who used this - but that was may
> years ago, and I haven't seen any such request for at least 5 years,
> probably more.
>
>> If we "Excluding the legacy RTOS emulators such as VxWorks", we will
>> lose them. It could depend on the balance of the request and effort.
>
> I think we should move on and not get ourself stuck in "maybe
> someone still needs it" compatibility issues.  If such users still
> exist, they can speak up here, and offer to cover the needed efforts
> to add and maintain such a compatibility layer again.
>
> I would not hold my breath waiting for such volunteers, though...
>
> Best regards,
>
> Wolfgang Denk
>




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-06 10:46 [CXP][RFC] pick POSIX/cobalt for the common user API Philippe Gerum
  2020-12-07  2:16 ` chensong
       [not found] ` <5fcd902b.1c69fb81.79300.444fSMTPIN_ADDED_BROKEN@mx.google.com>
@ 2020-12-14  7:22 ` Wolfgang Denk
  2020-12-14 12:44 ` Jan Kiszka
  2021-01-03 17:05 ` Philippe Gerum
  4 siblings, 0 replies; 12+ messages in thread
From: Wolfgang Denk @ 2020-12-14  7:22 UTC (permalink / raw)
  To: Philippe Gerum, Philippe Gerum via Xenomai

Dear Philippe,

In message <87mtyr1abi.fsf@xenomai.org> you wrote:
> 
> The common Xenomai platform specification is about defining the
> commonalities among future Xenomai releases starting from 3.3, including
> the Xenomai 4 series based on a next generation (EVL) core. A common API
> available to applications for issuing requests to the real-time core is
> part of this specification.
>
> Implementing such interface would not preclude other APIs from
> co-existing in particular releases. However, use of this common API
> only would guarantee portability across releases.
>
> Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
> 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> interface.
>
> PROPOSAL: Pick libcobalt as the common API defined by the CXP.

Sonds good to me - ACK!

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"...all the  good  computer  designs  are  bootlegged;  the  formally
planned  products,  if  they  are built at all, are dogs!" - David E.
Lundstrom, "A Few Good Men From Univac", MIT Press, 1987


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-06 10:46 [CXP][RFC] pick POSIX/cobalt for the common user API Philippe Gerum
                   ` (2 preceding siblings ...)
  2020-12-14  7:22 ` Wolfgang Denk
@ 2020-12-14 12:44 ` Jan Kiszka
  2020-12-14 16:00   ` Greg Gallagher
  2021-01-03 17:05 ` Philippe Gerum
  4 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2020-12-14 12:44 UTC (permalink / raw)
  To: Philippe Gerum, xenomai

On 06.12.20 11:46, Philippe Gerum via Xenomai wrote:
> 
> The common Xenomai platform specification is about defining the
> commonalities among future Xenomai releases starting from 3.3, including
> the Xenomai 4 series based on a next generation (EVL) core. A common API
> available to applications for issuing requests to the real-time core is
> part of this specification.
> 
> Implementing such interface would not preclude other APIs from
> co-existing in particular releases. However, use of this common API
> only would guarantee portability across releases.
> 
> Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
> 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> interface.
> 
> PROPOSAL: Pick libcobalt as the common API defined by the CXP.
> 
> As a consequence, Xenomai 4 would provide two direct interfaces to the
> underlying EVL core: via the libevl API [1] which is readily
> available, and its own implementation of libcobalt as part of a CXP
> compliance.
> 
>                   applications
>       ....................................
>       libalchemy            libevl libcobalt
>            |                  |      |
>            |                  |      |
>       libcopperplate          |      |
>            |                  |      |
>            |                  |      |
>        libcobalt              |      |
>            |                  |      |
>            v                  v      v
>      (Cobalt core)           (EVL core)
>       -----------            ---------
>       Xenomai 3.x            Xenomai 4
> 
> 
> Thanks,
> 
> [1] https://evlproject.org/core/user-api/
> 

Ack from my side.

Besides using Xenomai 3.x as a stepping stone to migrate from legacy
RTOSes like Vxworks, there may also be the option to use the mercurial
version on top of Xenomai 4 at some point. In any case, it will first of
all take users to actively express their long-term needs regarding such
features - and contributions.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-14 12:44 ` Jan Kiszka
@ 2020-12-14 16:00   ` Greg Gallagher
  0 siblings, 0 replies; 12+ messages in thread
From: Greg Gallagher @ 2020-12-14 16:00 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Philippe Gerum, Xenomai@xenomai.org

On Mon, Dec 14, 2020 at 7:44 AM Jan Kiszka via Xenomai <xenomai@xenomai.org>
wrote:

> On 06.12.20 11:46, Philippe Gerum via Xenomai wrote:
> >
> > The common Xenomai platform specification is about defining the
> > commonalities among future Xenomai releases starting from 3.3, including
> > the Xenomai 4 series based on a next generation (EVL) core. A common API
> > available to applications for issuing requests to the real-time core is
> > part of this specification.
> >
> > Implementing such interface would not preclude other APIs from
> > co-existing in particular releases. However, use of this common API
> > only would guarantee portability across releases.
> >
> > Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
> > 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> > custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> > interface.
> >
> > PROPOSAL: Pick libcobalt as the common API defined by the CXP.
> >
> > As a consequence, Xenomai 4 would provide two direct interfaces to the
> > underlying EVL core: via the libevl API [1] which is readily
> > available, and its own implementation of libcobalt as part of a CXP
> > compliance.
> >
> >                   applications
> >       ....................................
> >       libalchemy            libevl libcobalt
> >            |                  |      |
> >            |                  |      |
> >       libcopperplate          |      |
> >            |                  |      |
> >            |                  |      |
> >        libcobalt              |      |
> >            |                  |      |
> >            v                  v      v
> >      (Cobalt core)           (EVL core)
> >       -----------            ---------
> >       Xenomai 3.x            Xenomai 4
> >
> >
> > Thanks,
> >
> > [1] https://evlproject.org/core/user-api/
> >
>
> Ack from my side.
>
> Besides using Xenomai 3.x as a stepping stone to migrate from legacy
> RTOSes like Vxworks, there may also be the option to use the mercurial
> version on top of Xenomai 4 at some point. In any case, it will first of
> all take users to actively express their long-term needs regarding such
> features - and contributions.
>
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
>
> ACK - looks good.  I think if someone would like to take on the
maintenance of one or all the RTOS skins then it's something to look at,
but for now it's out of scope.

-Greg

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [CXP][RFC] pick POSIX/cobalt for the common user API
  2020-12-06 10:46 [CXP][RFC] pick POSIX/cobalt for the common user API Philippe Gerum
                   ` (3 preceding siblings ...)
  2020-12-14 12:44 ` Jan Kiszka
@ 2021-01-03 17:05 ` Philippe Gerum
  4 siblings, 0 replies; 12+ messages in thread
From: Philippe Gerum @ 2021-01-03 17:05 UTC (permalink / raw)
  To: xenomai


Philippe Gerum <rpm@xenomai.org> writes:

> The common Xenomai platform specification is about defining the
> commonalities among future Xenomai releases starting from 3.3, including
> the Xenomai 4 series based on a next generation (EVL) core. A common API
> available to applications for issuing requests to the real-time core is
> part of this specification.
>
> Implementing such interface would not preclude other APIs from
> co-existing in particular releases. However, use of this common API
> only would guarantee portability across releases.
>
> Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
> 3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
> custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate
> interface.
>
> PROPOSAL: Pick libcobalt as the common API defined by the CXP.
>
> As a consequence, Xenomai 4 would provide two direct interfaces to the
> underlying EVL core: via the libevl API [1] which is readily
> available, and its own implementation of libcobalt as part of a CXP
> compliance.
>
>                   applications
>       ....................................
>       libalchemy            libevl libcobalt
>            |                  |      |
>            |                  |      |
>       libcopperplate          |      |
>            |                  |      |
>            |                  |      |
>        libcobalt              |      |
>            |                  |      |
>            v                  v      v
>      (Cobalt core)           (EVL core)
>       -----------            ---------
>       Xenomai 3.x            Xenomai 4
>
>
> Thanks,
>
> [1] https://evlproject.org/core/user-api/

It's been nearly a month since this proposal was submitted, with no
fundamental objection raised so far. Therefore it is going to be part of
the CXP in the terms discussed earlier.

Thanks,

-- 
Philippe.


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-01-03 17:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-06 10:46 [CXP][RFC] pick POSIX/cobalt for the common user API Philippe Gerum
2020-12-07  2:16 ` chensong
2020-12-07 10:12   ` Philippe Gerum
2020-12-08  1:22     ` chensong
2020-12-07 13:58   ` Wolfgang Denk
2020-12-11  6:12     ` chensong
     [not found] ` <5fcd902b.1c69fb81.79300.444fSMTPIN_ADDED_BROKEN@mx.google.com>
2020-12-07  6:59   ` Greg Gallagher
2020-12-07  8:09     ` chensong
2020-12-14  7:22 ` Wolfgang Denk
2020-12-14 12:44 ` Jan Kiszka
2020-12-14 16:00   ` Greg Gallagher
2021-01-03 17:05 ` Philippe Gerum

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.