Commit Graph

150 Commits

Author SHA1 Message Date
Philippe Gerum 0c4534538c tests: PI: disable T_WOLI for the test case 2019-06-29 15:05:17 +02:00
Philippe Gerum c344373357 commands/evl: detect when the EVL core is absent 2019-06-28 11:07:59 +02:00
Philippe Gerum 4532a9a851 init: refer to control device by symbol 2019-06-28 11:01:33 +02:00
Philippe Gerum 28e6b7d64c include/evl: thread: include signal bits 2019-06-27 17:47:30 +02:00
Philippe Gerum dd71aeaca6 utils/latmus: include results from the last bulk
When the test is interrupted, we usually have some results pending in
kernel space which have been collected but not yet received via the
cross-buffer. Make sure to collect and include them in the latency
report.
2019-06-27 17:08:36 +02:00
Philippe Gerum 0ca0d13604 tests/heap: fix help strings 2019-06-27 17:08:36 +02:00
Philippe Gerum 628c6f456d evl: do not use the Mu character
It is not always properly rendered depending on the locale.
2019-06-27 17:08:36 +02:00
Philippe Gerum c96ec86e65 include/evl: read evl/flags.h from central header 2019-06-27 17:08:36 +02:00
Philippe Gerum 72bc055396 utils/latmus: fix help strings 2019-06-26 18:04:39 +02:00
Philippe Gerum 882dfc5b4f lib/thread: convert to T_WOSS, T_WOLI flags 2019-06-25 19:03:00 +02:00
Philippe Gerum 23dc6a6038 lib/sem: remove inapplicable debugging bypass 2019-06-24 19:25:42 +02:00
Philippe Gerum 91f6d2ab0e lib/flags: remove inapplicable debugging bypass 2019-06-24 19:25:38 +02:00
Philippe Gerum 77278d9c1f commands/trace: enable fpu corrupt event 2019-06-22 10:57:40 +02:00
Philippe Gerum 93590ba91d commands/trace: fail gracefully if -f but no ftracer 2019-06-21 20:19:45 +02:00
Philippe Gerum 712c29470b tests: poll: align with ABI change to evl_poll() 2019-06-20 15:28:58 +02:00
Philippe Gerum ff0104f87b tests: poll: align with ABI change to evl_add_pollfd() 2019-06-20 15:08:39 +02:00
Philippe Gerum 41aa0ddcce lib: fix monitor-based polling support 2019-06-19 20:04:30 +02:00
Philippe Gerum e60078a3eb lib/clock: reword comment to clarify 2019-06-17 09:40:39 +02:00
Philippe Gerum 59dd3a1591 lib: normalize return values of evl_new_*(), evl_open_*() calls
Some creation calls have to return the file descriptor of the new
element because there is no in-memory descriptor associated with the
latter where we could stick the former. So for consistency, just have
all evl_new_*() calls return the file descriptor referring to the new
element.

Likewise, all evl_open_*() calls now do the same.
2019-06-16 19:22:15 +02:00
Philippe Gerum 897bfa8135 tests: monitor as gated event 2019-06-16 19:22:15 +02:00
Philippe Gerum 74179cb2b6 tests: event flags: check closure calls 2019-06-16 19:22:15 +02:00
Philippe Gerum c891cec602 lib/event: cosmetic changes for readability 2019-06-16 12:13:56 +02:00
Philippe Gerum 979e0fb716 lib/thread: cosmetic changes for readability 2019-06-16 12:13:51 +02:00
Philippe Gerum 91fa20d7ab lib: add real-time capable memory allocator
This is a variant of the memory allocator described in [1].  We
maintain the free page list in AVL trees for O(log n) access to
multi-page memory ranges. In addition, pages storing bucketed memory
blocks of ^2 size have a fast allocation bitmap.

[1] http://docs.FreeBSD.org/44doc/papers/kernmalloc.pdf.
2019-06-14 16:45:39 +02:00
Philippe Gerum 61d7d212cd lib: drop redundant switch to async cancelability
oob_ioctl() already switches the caller to async cancelability, there
is no need for the caller to do this.
2019-06-14 13:03:24 +02:00
Philippe Gerum f0d37f4730 treewide: API update
Improve consistency in naming and disambiguate some calls.
2019-06-13 10:31:04 +02:00
Philippe Gerum 90cacf8f0b README: fix URL to evlproject.org 2019-06-12 20:51:48 +02:00
Philippe Gerum 8dffaaade4 lib: add support for event flag groups
Event flags are boolean conditions represented by a single bit,
grouped in 32bit words. All bits from a group are initially set to
zero.

An event flag group is a lightweight notification mechanism. The
application can send bitmasks to raise individual bits from the group
(i.e. group_value |= bits), or wait for the group to have at least one
bit set for satisfying the request. In the latter case, the group
value is read then cleared atomically, and the collected bits are
returned to the thread heading the wait queue.
2019-06-12 17:49:03 +02:00
Philippe Gerum 68dd86747c lib/monitor: split type and protocol information 2019-06-11 17:17:48 +02:00
Philippe Gerum ad345e0b4b lib/init: detect mismatching ABI 2019-06-11 11:12:05 +02:00
Philippe Gerum 696c1580a6 tests/fault: test divzero conditionally 2019-06-09 11:50:27 +02:00
Philippe Gerum 1611835618 build: fix various target inter-dependencies 2019-06-09 11:50:27 +02:00
Philippe Gerum ef5dec6119 commands/evl: add help meta-command 2019-06-07 16:55:30 +02:00
Philippe Gerum 32c77692fa commands/trace: disable all events on -d 2019-06-07 15:49:39 +02:00
Philippe Gerum 6731deb51b lib/cond: restrict targeted wakeup to pended condvar 2019-06-04 08:49:15 +02:00
Philippe Gerum c9ab2931bd build: remove UAPI links safely 2019-06-03 19:19:31 +02:00
Philippe Gerum f6f2ae7284 build: create convenience Makefiles in output directories
Allow rebuilding the tree while retaining the initial build settings,
i.e.:

-C <srcdir> O= ARCH= CROSS_COMPILE= UAPI= and DESTDIR=
2019-06-03 18:45:00 +02:00
Philippe Gerum e38dc0479d commands/evl: pass build with -Wformat-security 2019-06-03 17:25:42 +02:00
Philippe Gerum 696013f17f utils/latmus: dump summary report in greppable format w/ -g 2019-06-02 11:15:27 +02:00
Philippe Gerum 40590f2880 tests: proxy: fix description 2019-05-30 17:18:56 +02:00
Philippe Gerum 8d1e8124dc lib/utils: make explicit that logging requires a proxy 2019-05-30 16:16:11 +02:00
Philippe Gerum b8e37da8b3 commands: add ps helper
Signed-off-by: Philippe Gerum <rpm@xenomai.org>
2019-05-30 13:04:37 +02:00
Philippe Gerum 13f521985a utils/latmus: dump test information header with -g 2019-05-29 14:58:12 +02:00
Philippe Gerum 9cc7b9aa52 utils/latmus: detect orphaned arguments 2019-05-29 14:28:50 +02:00
Philippe Gerum 28b56a53fd utils/latmus: parse d/h/m/s modifiers to the timeout value (-T)
d/h/m/s suffixes can be added to the value passed to -T for modifying
its meaning (days/hours/mins/secs). Defaults to secs when unspecified.
2019-05-29 13:01:08 +02:00
Philippe Gerum 9429d6ebb5 utils/latmus: fix help strings 2019-05-29 12:34:22 +02:00
Philippe Gerum f830520395 tests: extend proxy test case and rename 2019-05-28 19:47:45 +02:00
Philippe Gerum afe4355952 tests/helpers: fix assertion in new_thread() 2019-05-28 19:43:42 +02:00
Philippe Gerum ee67eb06da commands/trace: detect lack of EVL core 2019-05-28 19:43:42 +02:00
Philippe Gerum 5231adf792 tests: check recovery from basic faults 2019-05-22 09:50:39 +02:00