Re: [Xenomai-core] tdm_event_timedwait documentation

2006-09-09 Thread Bernhard Walle
* Jan Kiszka <[EMAIL PROTECTED]> [2006-09-09 12:28]:
> 
> This overwriting only takes place if timeout_seq is non-NULL. Otherwise,
> we are in "usual" timeout mode.

Yes, of course, you're right. It was too late when I wrote this mail.
I oversaw the NULL case.

> > Maybe
> > 
> >  * @param[in] timeout Relative timeout, see
> >  * @ref RTDM_TIMEOUT_xxx for special values (any positive value
> >  * means the timeout specified in the timeout sequence)
> > 
> > or something like that.
> 
> No, that's wrong then. I guess we rather need something like this:
> 
> "@param[in] timeout Relative timeout in nanoseconds, see @ref
> RTDM_TIMEOUT_xxx for special values; pass the overall timeout of the
> related series if timeout_seq is non-NULL"
> 
> Does this help to clarify the situation? BTW, the same applies to
> rtdm_sem_timeddown and rtdm_mutex_timeddown, all of those could be
> combined in such a series.

Yes, that would make it clear.

> RTDM specification and development only take place over Xenomai, RTAI
> later adopts what we implement here. And this will quite likely remain
> so in the future. Therefore, the best place to discuss also abstract
> RTDM question is here, maybe later on a dedicated xenomai-drivers list
> when the traffic increases.
> 
> For oddities of the RTAI implementation there is still the RTAI list
> where I'm subscribed as well and can jump in when required.

Ah, ok. Didn't know that you're subscribed, that's why I CC'd you.


Regards,
  Bernhard
-- 
OpenPGP Schlüssel-ID: B69454FD (kurz) / E8951E8FB69454FD (lang)
Fingerprint: F3BE B2A7 8161 2986 ABA4  9AB9 E895 1E8F B694 54FD


pgpFGcXfUWfz1.pgp
Description: PGP signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] tdm_event_timedwait documentation

2006-09-09 Thread Jan Kiszka
Bernhard Walle wrote:
> Hello,
> 
> IMO the documentation of tdm_event_timedwait is a bit unclear. There
> are two timeout values: the timeout and the timeout sequence. After
> reading the source code the behaviour is clear but from documentation
> I would have expected following behaviour:
> 
>- the sequence timeout is the sum of the timeouts over all calls
>  (which is in case)
> 
>- the timeout in the parameter is the maximum timeout of this call
>  (which is not in case)
> 
> If I didn't get the source code totally wrong
> 
> if (timeout < 0) {
> err = -EWOULDBLOCK;
> goto unlock_out;
> }
> 
> if (timeout_seq && (timeout > 0)) {
> /* timeout sequence */
> timeout = *timeout_seq - xnpod_get_time();
> if (unlikely(timeout <= 0)) {
> err = -ETIMEDOUT;
> goto unlock_out;
> }
> xnsynch_sleep_on(&event->synch_base, timeout);
> } else {
> /* infinite or relative timeout */
> xnsynch_sleep_on(&event->synch_base, xnpod_ns2ticks(timeout));
> }
> 
> the timeout value is only interesting if RTDM_TIMEOUT_NONE or
> RTDM_TIMEOUT_INFINITE otherwise it's not relevant because it's
> overwritten by the value of the timeout sequence. That should be
> expressed in the documentation.

This overwriting only takes place if timeout_seq is non-NULL. Otherwise,
we are in "usual" timeout mode.

> 
> Maybe
> 
>  * @param[in] timeout Relative timeout, see
>  * @ref RTDM_TIMEOUT_xxx for special values (any positive value
>  * means the timeout specified in the timeout sequence)
> 
> or something like that.

No, that's wrong then. I guess we rather need something like this:

"@param[in] timeout Relative timeout in nanoseconds, see @ref
RTDM_TIMEOUT_xxx for special values; pass the overall timeout of the
related series if timeout_seq is non-NULL"

Does this help to clarify the situation? BTW, the same applies to
rtdm_sem_timeddown and rtdm_mutex_timeddown, all of those could be
combined in such a series.

> 
> 
> Regards,
>   Bernhard
> 
> PS: As there are more and more RTDM-related questions (not only from
> me :)) -- what do you think about a mailing list for real-time drivers
> only? Which means a common list for RTAI and Xenomai. 
> 
> Because I'm using both systems for evaluation I'm always a bit unsure
> to which list I should write (well, if it's not RTAI specified I wrote
> to the Xenomai list because I know you're working on Xenomai and the
> RTAI implementation is from Paolo Mantegazza ;)).

RTDM specification and development only take place over Xenomai, RTAI
later adopts what we implement here. And this will quite likely remain
so in the future. Therefore, the best place to discuss also abstract
RTDM question is here, maybe later on a dedicated xenomai-drivers list
when the traffic increases.

For oddities of the RTAI implementation there is still the RTAI list
where I'm subscribed as well and can jump in when required.

Jan

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] tdm_event_timedwait documentation

2006-09-08 Thread Bernhard Walle
Hello,

IMO the documentation of tdm_event_timedwait is a bit unclear. There
are two timeout values: the timeout and the timeout sequence. After
reading the source code the behaviour is clear but from documentation
I would have expected following behaviour:

   - the sequence timeout is the sum of the timeouts over all calls
 (which is in case)

   - the timeout in the parameter is the maximum timeout of this call
 (which is not in case)

If I didn't get the source code totally wrong

if (timeout < 0) {
err = -EWOULDBLOCK;
goto unlock_out;
}

if (timeout_seq && (timeout > 0)) {
/* timeout sequence */
timeout = *timeout_seq - xnpod_get_time();
if (unlikely(timeout <= 0)) {
err = -ETIMEDOUT;
goto unlock_out;
}
xnsynch_sleep_on(&event->synch_base, timeout);
} else {
/* infinite or relative timeout */
xnsynch_sleep_on(&event->synch_base, xnpod_ns2ticks(timeout));
}

the timeout value is only interesting if RTDM_TIMEOUT_NONE or
RTDM_TIMEOUT_INFINITE otherwise it's not relevant because it's
overwritten by the value of the timeout sequence. That should be
expressed in the documentation.

Maybe

 * @param[in] timeout Relative timeout, see
 * @ref RTDM_TIMEOUT_xxx for special values (any positive value
 * means the timeout specified in the timeout sequence)

or something like that.


Regards,
  Bernhard

PS: As there are more and more RTDM-related questions (not only from
me :)) -- what do you think about a mailing list for real-time drivers
only? Which means a common list for RTAI and Xenomai. 

Because I'm using both systems for evaluation I'm always a bit unsure
to which list I should write (well, if it's not RTAI specified I wrote
to the Xenomai list because I know you're working on Xenomai and the
RTAI implementation is from Paolo Mantegazza ;)).
-- 
"Freedom is just another word for nothing left to lose,
Nothing don't mean nothing honey if it ain't free, now now.
And feeling good was easy, Lord, when Bobby sang the blues,
You know feeling good was good enough for me,
Good enough for me and my Bobby McGee."-- Janis Joplin


pgpaGZs2jlV7T.pgp
Description: PGP signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core