Re: [Xenomai] [RFC] dropping ppc64 support

2018-01-25 Thread Wadepohl, Wolfram
Hi all,

dropping the ppc64 support are bad news for me.

Watchting the xenomai project for several years, I'm now in the situation for 
the need of a stable hard rt solution in combination with gnu/linux for a 
project.
So xenomai is no longer on the list, due to the missing future support for 
ppc64.

Any suggestions which way to go? The PREMEPT_RT  is definitly no way to go.
My last idea is to go for Jailhouse with GNU/Linux and RTEMS.


-- 
Wolfram Wadepohl
Projektmanager Automatisierung & Robotik

Phone +49 (0)7123 164-2062
Mobile +49 (0)160 9531 5679


> -Original Message-
> From: Xenomai [mailto:xenomai-boun...@xenomai.org] On Behalf Of Philippe
> Gerum
> Sent: Thursday, January 25, 2018 6:41 PM
> To: Henning Schild; Jan Kiszka; Sebastian Smolorz; Jan Leupold; Jorge Ramirez
> Cc: Steven Seeger; Xenomai@xenomai.org
> Subject: [Xenomai] [RFC] FOSDEM meeting agenda
> 
>   * formalizing the decision about dropping the blackfin and powerpc64
> port, since we had zero feedback from users so far, so everyone must be fine
> with this.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


[Xenomai] meeting agenda suggestions

2018-01-25 Thread Greg Gallagher
Adding some points that I think need some attention at the meeting.

Drivers:
Currently we have support for certain boards, SOC families and
devices.   Do we want to expand on that?  Are there commonly used
pieces of hardware that we want to add support for?  For most devices
it may be a port from Linux to Xenomai, which could be low effort.
What drives improvements to our current  frameworks like gpio and spi
?  Adding i2c, pwm and pci devices (etc) may be helpful.  Are users
looking for full BSPs?

Reference Boards:
Projects like AGL (Automotive Grade Linux) use low cost boards as
reference platforms so potential customers can get up and running
quickly.  I really think this helps for prototyping.  There's already
some support for Raspberry Pi, we could expand on that.  We could look
at the beaglebone family of boards and potentially Zynq boards.

Quick Start Guide:
This would probably fall under documentation but putting together
a quick start guide for new users may be worthwhile.  It could be tied
into the above comment of using low cost boards and we focus on a
quick start guide for one or two community (low cost) boards.

"How to" Articles:
   This may go with the above point, but adding some type of doc that
shows how to properly use the gpio, udd, ipc and other sub systems
would help new users and people possibly evaluating Xenomai.  Having
these on the homepage I think would show potential users that there
are resources to help get them started.  It would give prospective
users a general idea of what features Xenomai supports so far.  They
could also serve as reference/example code.

Testing:
   How do we test Xenomai?  There's some documentation on smokey the
smoke test framework, when are those tests run and how often?  Do we
run those tests across all architectures? Is a regression test suite
something we want to build?  Any reported bugs can be made into a test
case and added to the regression tests.

Bug reporting:
   When a user reports a bug on the mailing list they usually don't
include all the information needed.  There has been discussion on
using a bug tracking system.  Is this part of the gitlab effort? it
would be nice to ask the users for example code to reproduce their
bugs.  The udd issue on the todo list is hard to reproduce since there
is only snippets of code in the email thread and not a lot of
information on what the kernel side of the udd driver does.  We can
also see if anyone is watching or currently working on the bug.

Xenomai's successes:
We could give community members and companies the opportunity to
post their product or creation somewhere on the Xenomai home page.  It
would give potential users the ability to see Xenomai's successes.

Thanks,

Greg

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


[Xenomai] [RFC] FOSDEM meeting agenda

2018-01-25 Thread Philippe Gerum

Here are some points I would like to discuss during this meeting. Please
feel free to comment:

1. Release management

* Currently, the person who contributes most of the code is also the
release manager, which is clearly not optimal. Both activities should be
decoupled for efficiency (esp. hindsight) and practical reasons. At some
point, I will stop acting as the release manager, so the project will
need a different organization in this respect. Which one?

* As a corollary, the current release process is broken: no explicit
release plan or schedule, limited testing, barely any user feedback
about the development version in general. Practical steps to improve
this should be discussed.

* My understanding is that v3.1 is almost there feature-wise, with a
working arm64 port Dmitriy is polishing, a bunch of rtnet fixes actually
enabling RTnet with SMAP/x86 (which still need some feedback btw), and
support for recent kernels up to 4.14 (arm, arm64, powerpc). x86 is
still lagging behind with kernel 4.9 though. I'm about to queue a couple
of ABI changes more, with the implementation of sendmmsg() and
recvmmsg() for RTDM sockets.

This raises the following questions: 1) may we freeze the v3.1 ABI, 2)
should we wait for supporting 4.14/x86 before releasing v3.1, 3) how
much use/testing do we currently have of the -next branch, on which CPU
architecture(s)?

2. Documentation

* The existing documentation has several weaknesses; from the traffic
on the mailing list, the main one may be that it leaves newcomers with a
steep learning curve, in some occasions, even when the information is
published on the website and/or present in the inline documentation. How
to improve the situation, how to better organize the existing doc so
that people do find what they are looking for?

* Doxygen may not be the best option anymore for inline documentation;
Chasing glitches with using the markup has been a real pain over the
years, getting properly structured output has never been obvious. Could
we do better with Doxygen in a reasonably simple fashion, or should
reStructuredText and Sphinx be considered as a replacement, so that we
can converge toward the kernel documentation system?

3. Pipeline maintenance

* We now have a dedicated I-pipe maintainer per CPU architecture, which
is a great relief to me. Now I'd like we discuss the maintenance
process, 1) how to organize the upstream/downstream flow of the generic
pipeline bits I still maintain currently, between other maintainers and
me? 2) how to best disseminate knowledge about the I-pipe implementation?

* mainline vs CIP kernel, LTS maintenance policy

4. Misc

* formalizing the decision about dropping the blackfin and powerpc64
port, since we had zero feedback from users so far, so everyone must be
fine with this.

Thanks,

-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Posix vs Alchemy - multiplexing and registry

2018-01-25 Thread Philippe Gerum
On 01/25/2018 04:14 PM, Julien Blanc wrote:
> Le jeudi 25 janvier 2018 à 15:21 +0100, Philippe Gerum a écrit :
>> On 01/25/2018 02:43 PM, Julien Blanc wrote:
>>>  
>> There is no provision for I/O multiplexing with alchemy. Only the
>> pipe object embeds a RTDM file descriptor which could be passed to
>> libcobalt's select() implementation, other resources (e.g. queues,
>> buffers etc) don't.
> 
> Thanks for your answer. If i understand correctly, this also means that
> it is not recommended to mix both APIs in the same program. For example
> a queue created with rt_create_queue cannot be read with
> __cobalt_mq_open, am I right ?

Correct. One may use both POSIX and alchemy APIs in the same program
though, but calls referring to equivalent objects (e.g. sem, queue,
task/threads, etc) are not interchangeable. alchemy provides high-level
services built on basic POSIX calls.

> 
>> I would suggest to enable the registry for your application (not for
>> the entire POSIX API), as you might not need each and every resource
>> to be exposed via a fuse-based fs.
> 
> This is something i'd rather avoid if possible. Though, thanks for the
> pointers, at first glance it seems much simpler than what i feared.
> 

It is pretty simple, just not documented.

-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Posix vs Alchemy - multiplexing and registry

2018-01-25 Thread Julien Blanc
Le jeudi 25 janvier 2018 à 15:21 +0100, Philippe Gerum a écrit :
> On 01/25/2018 02:43 PM, Julien Blanc wrote:
> > 
> There is no provision for I/O multiplexing with alchemy. Only the
> pipe object embeds a RTDM file descriptor which could be passed to
> libcobalt's select() implementation, other resources (e.g. queues,
> buffers etc) don't.

Thanks for your answer. If i understand correctly, this also means that
it is not recommended to mix both APIs in the same program. For example
a queue created with rt_create_queue cannot be read with
__cobalt_mq_open, am I right ?

> I would suggest to enable the registry for your application (not for
> the entire POSIX API), as you might not need each and every resource
> to be exposed via a fuse-based fs.

This is something i'd rather avoid if possible. Though, thanks for the
pointers, at first glance it seems much simpler than what i feared.

Regards,

Julien

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Posix vs Alchemy - multiplexing and registry

2018-01-25 Thread Philippe Gerum
On 01/25/2018 02:43 PM, Julien Blanc wrote:
> Hi,
> 
> We have a xenomai 3 application currently using the alchemy API
> (application development started on xenomai 2.x).
> 
> We would like to add I/O multiplexing in some parts of the application.
> My understanding is that it is not supported by the alchemy API, so we
> would have to resort to the Posix API.
> 
> The downside is that by doing so, we lose the registry : with the posix
> api nothing is exported. We would like to access all this data, at
> least for debugging purposes (ideally, disable it in production build).
> 
> I couldnt find any pointer for doing either of the following :
> - enable the registry while using the posix API
> - multiplex using the alchemy api
> - retrieve a posix-api compatible file descriptor from an alchemy
> handle (which would allow a __cobalt_select call)
> 
> Is there some resources or something obvious that i'm missing ?
> 

There is no provision for I/O multiplexing with alchemy. Only the pipe
object embeds a RTDM file descriptor which could be passed to
libcobalt's select() implementation, other resources (e.g. queues,
buffers etc) don't.

I would suggest to enable the registry for your application (not for the
entire POSIX API), as you might not need each and every resource to be
exposed via a fuse-based fs.

To do so, you can link against libcopperplate, which is not documented.
However, looking at lib/alchemy/init.c may give you some hints about the
way to create your own registry hierarchy (see alchemy_init()). Then
looking at sections defined for CONFIG_XENO_REGISTRY in e.g. queue.c
would give you an illustration of a proper client-side usage, for
populating this hierarchy with object nodes, and the way to return
information back when those nodes are opened for reading.

-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


[Xenomai] Posix vs Alchemy - multiplexing and registry

2018-01-25 Thread Julien Blanc
Hi,

We have a xenomai 3 application currently using the alchemy API
(application development started on xenomai 2.x).

We would like to add I/O multiplexing in some parts of the application.
My understanding is that it is not supported by the alchemy API, so we
would have to resort to the Posix API.

The downside is that by doing so, we lose the registry : with the posix
api nothing is exported. We would like to access all this data, at
least for debugging purposes (ideally, disable it in production build).

I couldnt find any pointer for doing either of the following :
- enable the registry while using the posix API
- multiplex using the alchemy api
- retrieve a posix-api compatible file descriptor from an alchemy
handle (which would allow a __cobalt_select call)

Is there some resources or something obvious that i'm missing ?

Best regards,

Julien



___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai