All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: "Li Yi (Adam)" <liyiadam@domain.hid>
Cc: Marco Jackel <ich@domain.hid>, xenomai@xenomai.org
Subject: Re: [Xenomai-help] [RTDM] best strategy for periodic reading
Date: Tue, 16 May 2006 12:55:07 +0200	[thread overview]
Message-ID: <4469AF8B.2040400@domain.hid> (raw)
In-Reply-To: <4546494d0605160315x2fad7c74ge8133057446d5f6b@domain.hid>

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

Li Yi (Adam) wrote:
> Hi Jan,
> 
> Quick questions:

...long answer. ;)

> 1. What is the problem with "xntimer_init()"? The timerbench.c use it to
> create timers? You are going to write a RTDM implementation?

Not an implementation but rather a thin wrapper.

The aim of RTDM is to remain independent of the actual RT-Linux
implementation. We already have RTDM support in recent RTAI, the future
may bring ports to RTLinux/GPL (as long as this project keeps alive) and
preempt-rt. Sebastian's SJA1000 CAN driver is e.g. RTDM-based and can be
recompiled for RTAI without using tons of #ifdefs. RTnet does this even
longer.

So, by using Xenomai nucleus services directly you make your driver
harder to port. The timerbench-way is only an intermediate solution
until we have a real abstraction (see also comments in the code).

> 2.  What is  general program model for Xenomai application like data
> acquisition? What I am thinking is to start the RT task in user space (via
> POSIX skin), and implement the read funtion in kernel space using RTDM.

Unless you have specific requirements, putting the (common) hardware
interface into an RTDM driver and leaving the rest to the application is
the preferred way (it's nothing Xenomai-specific, is it?).

If a RTDM driver always has to be in kernel space is a different
question. I have some weird ideas about (widely) seamless user space
migration (and vice versa), either into the process context of an
exclusive device user (kind of library) or even shared between multiple
processes (device servers, microkernel-like, probably at similar costs).
Anyway, the goal is to keep the RTDM interfaces for both domains widely
identical, and this will require some more work (and thus time, which
I'm always lacking).

Userspace drivers are not the ultimate answer to all questions (that's
42 anyway), but they can open certain new possibilities, both
technically and legally.

Jan


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

  reply	other threads:[~2006-05-16 10:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-16  8:43 [Xenomai-help] [RTDM] best strategy for periodic reading Marco Jackel
2006-05-16  9:37 ` Jan Kiszka
2006-05-16 10:15   ` Li Yi (Adam)
2006-05-16 10:55     ` Jan Kiszka [this message]
2006-05-16 18:56   ` [Xenomai-help] " Marco Jackel

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=4469AF8B.2040400@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=ich@domain.hid \
    --cc=liyiadam@domain.hid \
    --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.