- 14 Jan, 2023 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 05 Jan, 2023 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 31 Dec, 2022 3 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Applications were missing some features from semaphores and flags in order to make it easier to use them as building blocks of other synchronization mechanisms, which ABI 32 adds to address the issue. As a result, the API evolves as follows: - a semaphore may be broadcast using evl_flush_sem(), which is essentially a way to unblock all waiters atomically, returning with -EAGAIN to denote the condition. - evl_broadcast_flags() sends a given bit mask to all waiters present. This feature makes it simpler to implement gang-based logic in applications, when all members from a group of threads need to be notified atomically using a particular bit pattern (which a mutex+event combo does not allow easily). - evl_{timed_, try_}wait_some_flags() takes the set of bits to match in a disjunctive way (OR mode). Conversely, evl_{timed_, try_}wait_exact_flags() calls provide for conjunctive wait (AND mode). evl_{timed_, try_}wait_flags()...
-
Philippe Gerum authored
The shim EVL layer over the vanilla POSIX interface (e.g. glibc) was supposed to help during the early stage of application development by emulating the EVL API in a desktop-based environment. Such emulation has become pointless in this day and age, when bringing up a virtual machine on any desktop is almost trivial, with the added benefit of having the real EVL core in the picture. Besides, the shim layer already had some limitations in terms of call emulation which could only have increased over time, causing it to depart from the original API behavior too much to stay relevant. Let's drop this unloved and now useless shim layer. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 05 Dec, 2022 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
ABI 31 has renamed the thread status bits. Provide temporary wrappers for them, notifying the user about their deprecation. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 28 Nov, 2022 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 21 Nov, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 20 Nov, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 14 Nov, 2022 1 commit
-
-
Philippe Gerum authored
Only the first time frame is significant when checking for a schedule overrun notification, the test code drifts too much for the subsequent ones to be in sync. Prevent false (error) positive by running the test loop only once, which is enough for basic validation of the mechanism. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 13 Nov, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 12 Nov, 2022 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 06 Nov, 2022 6 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
The quota scheduling accuracy may yield varying results, which clearly depend on the execution environment; as a consequence, it is difficult for the test code to figure out whether it did succeed or failed. Instead, print out the percentage of the quota which has been actually received for the user to interpret, determining whether the outcome was ok or not, considering the test conditions. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Some tests might not be able to return a definitive ok/broken status, but rather some information the user would interpret for determining whether the outcome was ok or not, considering the test conditions. Typically, measuring the quota scheduling accuracy may yield varying results, which clearly depend on the execution environment. The standard output of a test is now always captured, printed to the terminal if the status code was EXIT_NO_STATUS. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 05 Nov, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 31 Oct, 2022 6 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
This test would break any EVL core prior to the one advertising ABI 29, so let's bump the required ABI accordingly. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 29 Oct, 2022 2 commits
-
-
Philippe Gerum authored
This is implied by dependency('threads') if present, omitted if not available from the platform. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
- include WCHAN in long format - widen CPUTIME and WCHAN fields Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 27 Aug, 2022 3 commits
-
-
Philippe Gerum authored
We bump the version stamp from 0.32 to 0.38 directly, in order to fix the current mess in the numbering scheme for the library version. By convention, from now on, the minor version number reported by meson is identical to the release tag. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
So that 'evl help' can always run successfully, regardless of whether the core is present/enabled. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 26 Aug, 2022 1 commit
-
-
Philippe Gerum authored
Follow naming of ex-linaro toolchains now hosted by ARM.com. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 23 Aug, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 30 Jul, 2022 1 commit
-
-
Philippe Gerum authored
Some applications may be perfectly fine with lockless access to private heaps. Introduce the changes to export a lockless API along with a serializing interface based on the latter. New lockless calls are suffixed by '_unlocked', pre-existing calls keep their name and semantics unchanged. At this chance, make sure to always check for the locking operation status, in order to detect calls from invalid contexts (i.e. serializing call from a non-EVL thread). See [1] for the rationale of these changes. https://lore.kernel.org/xenomai/87ilngjcqt.fsf@xenomai.org/T/#m0c40d8535441ed40baf4e0003ce18583b82d5bc4 Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 24 Jul, 2022 1 commit
-
-
Philippe Gerum authored
There are multiple reasons for evl_[timed]wait_event() to be interrupted while waiting, either forcibly via evl_unblock_thread() or by a signal, either while waiting for the event or trying to acquire the mutex back once done. Each of these causes should be handled differently. These changes build on the differentiated wait statuses introduced by kernel ABI #28. However, they are compatible with kernel ABI #27, although no improvement on dealing with the interrupt status would be observed in this case, resorting to the old behavior which is to report -EINTR to the caller in any case. With these changes, -EINTR is reported only if the caller was forcibly unblocked (e.g. by calling evl_unblock_thread()) while waiting for the event. In all other cases, evl_[timed]wait_event() retries the interrupted operation until complete. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 18 Jul, 2022 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 16 Jul, 2022 1 commit
-
-
Philippe Gerum authored
Until [1] went to the EVL kernel tree, we would receive the LKSLEEP notification when attempting to sleep on the tested event guarded by a mutex, unless T_WOLI is forcibly disabled, which we used to do. This whole logic was pretty silly, since we should not have been subject to receive this error notification in the first place, which [1] fixes. With this fix in place, we can take the opposite steps: force enable WOLI+HMSIG, to make sure we never get this notification while attempting to sleep on the event. The side-effect is that older kernels which do not have that fix will happily notify the new test code, leading to the related assertion to fail. For good measure, give a clear hint about the reason why the test may now fail with older kernels. [1] evl/wait: prevent LKSLEEP HM notification upon sleep on a gated event Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-