From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: xenomai@xenomai.org
Subject: Re: [PATCH 2/5] cobalt/events: add single-waiter delivery mode
Date: Thu, 07 Apr 2022 13:26:56 +0200 [thread overview]
Message-ID: <87lewhf7k6.fsf@xenomai.org> (raw)
In-Reply-To: <b806bd3e-594b-e4cf-2cc6-34f3c938b5f3@siemens.com>
Jan Kiszka <jan.kiszka@siemens.com> writes:
> On 06.04.22 17:56, Philippe Gerum via Xenomai wrote:
>> From: Philippe Gerum <rpm@xenomai.org>
>>
>> Allow for sending a set of event bits to the heading waiter only,
>> instead of broadcasting them to all waiters.
>>
>> This change affects the ABI, since we add a set of operation flags to
>> the cobalt_event_sync service, to pass the new COBALT_EVENT_BCAST
>> flag. It also affects the internal API as follows:
>>
>> - the new cobalt_event_broadcast() call behaves like
>> cobalt_event_post() formerly did, which is broadcasting the event to
>> all waiters atomically.
>>
>> - the new cobalt_event_signal() call implements the single-waiter
>> delivery mode we introduce.
>>
>> - the former cobalt_event_post() is now a wrapper to
>> cobalt_event_broadcast(), marked with a deprecation flag.
>
> Strictly spoken, deprecation will come with patch 4 only.
>
> Can we have some test cases for the new features as well? Who will use them?
>
Patch #1 comes with a new test for the autoclear thingy, I'll add a test
case for the single wakeup as well.
Alchemy will use them. This interface is useful to anyone who needs the
complete event flag group semantics without incurring the (significant)
extra cost of a mutex+condvar combo. Typically, although the broadcast
mode is a no-brainer, implementing the single-wakeup pattern is not
trivial with the latter.
--
Philippe.
next prev parent reply other threads:[~2022-04-07 11:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-06 15:56 [PATCH 1/5] cobalt/events: add auto-clear feature Philippe Gerum
2022-04-06 15:56 ` [PATCH 2/5] cobalt/events: add single-waiter delivery mode Philippe Gerum
2022-04-07 9:49 ` Jan Kiszka
2022-04-07 11:26 ` Philippe Gerum [this message]
2022-04-06 15:56 ` [PATCH 3/5] copperplate, testsuite: convert to cobalt_event_broadcast() Philippe Gerum
2022-04-06 15:56 ` [PATCH 4/5] lib/cobalt: deprecate cobalt_event_post() Philippe Gerum
2022-04-06 15:56 ` [PATCH 5/5] drivers: ipc: enable non-blocking write from regular threads Philippe Gerum
2022-04-07 9:51 ` Jan Kiszka
2022-04-07 11:37 ` Philippe Gerum
2022-04-13 11:21 ` Jan Kiszka
2022-04-07 9:47 ` [PATCH 1/5] cobalt/events: add auto-clear feature Jan Kiszka
2022-04-07 11:16 ` Philippe Gerum
2022-04-07 16:39 ` Jan Kiszka
2022-04-07 17:09 ` Philippe Gerum
2022-04-13 11:20 ` Jan Kiszka
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=87lewhf7k6.fsf@xenomai.org \
--to=rpm@xenomai.org \
--cc=jan.kiszka@siemens.com \
--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.