From: Philippe Gerum <rpm@xenomai.org>
To: Dmitry Adamushko <dmitry.adamushko@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] [patch, minor] xnpipe_recv and xntimer_get_timeout_periodic()
Date: Mon, 21 Aug 2006 14:45:37 +0200 [thread overview]
Message-ID: <1156164337.4402.48.camel@domain.hid> (raw)
In-Reply-To: <b647ffbd0608210447m45704e2bhd1884bce9e6a2a66@domain.hid>
On Mon, 2006-08-21 at 13:47 +0200, Dmitry Adamushko wrote:
> From:
> Dmitry Adamushko
> <dmitry.adamushko@domain.hid>
> To:
> xenomai@xenomai.org
> Subject:
> [Xenomai-core] [patch, minor]
> xnpipe_recv and
> xntimer_get_timeout_periodic()
> Date:
> Mon, 21 Aug 2006 13:47:00 +0200
>
>
>
>
>
> On Mon, 2006-08-21 at 12:47 +0200, Dmitry Adamushko wrote:
> >
> > what about pipe-related change (I mean timeslice updating
> in
> > xnpipe_recv()) ?
> >
>
> It's basically useless, since xnsynch_sleep_on() handles the
> resource
> stealing case internally, and the loop in xnpipe_recv is fake
> actually.
> Think of it as a goto statement in disguise.
>
> It has nothing to do with "resource stealing" (in terms of synch.c).
> The synch object is not PIP at all.
>
Ok, I thought we were discussing a more general issue about a new
potential side-effect of the resource stealing feature.
> task1 : blocked in xnpipe_recv()
>
> task2 : xnpipe_send() ---> wakes up task1 ---> task1 is waiting to be
> scheduled in
>
> task3 [prio > task2.prio] : gets CPU and calls xnpipe_recv()
>
> task3 gets a message so state->inq is empty now.
>
> ...
>
> task2 : calls getq(&state->inq) which is NULL now (if there were no
> more messages)
>
> calls xnsynch_sleep_on() again with the initial "timeout".
>
Definitely, yes. Please ignore my previous comment. I'll apply this one,
thanks.
--
Philippe.
prev parent reply other threads:[~2006-08-21 12:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-21 8:36 [Xenomai-core] [patch, minor] xnpipe_recv and xntimer_get_timeout_periodic() Dmitry Adamushko
2006-08-21 9:36 ` Philippe Gerum
2006-08-21 9:49 ` Philippe Gerum
2006-08-21 17:45 ` Dmitry Adamushko
2006-08-21 18:02 ` Philippe Gerum
2006-08-21 10:02 ` Philippe Gerum
2006-08-21 10:47 ` Dmitry Adamushko
2006-08-21 11:27 ` Philippe Gerum
[not found] ` <b647ffbd0608210446v38656cecxc231dba4e8f55dc2@domain.hid>
2006-08-21 11:47 ` Dmitry Adamushko
2006-08-21 12:45 ` Philippe Gerum [this message]
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=1156164337.4402.48.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=dmitry.adamushko@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.