1. 01 Jun, 2020 1 commit
    • Philippe Gerum's avatar
      benchmarks/latmus: add sirq latency measurement · acf10e3a
      Philippe Gerum authored
      
      
      This mode measures the delay between the moment a synthetic interrupt
      is posted from the oob stage and when it is eventually received by its
      in-band handler. When measured under significant pressure, this gives
      the typical interrupt latency experienced by the in-band kernel due to
      local interrupt disabling.
      
      Therefore, this is an in-band only test which measures IRQ latency
      experienced by the common kernel infrastructure, _NOT_ by EVL.
      
      Measurement is requested with '-s' option.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      acf10e3a
  2. 27 May, 2020 2 commits
  3. 26 May, 2020 1 commit
  4. 24 May, 2020 1 commit
  5. 23 May, 2020 4 commits
  6. 19 May, 2020 1 commit
    • Philippe Gerum's avatar
      benchmarks/latmus: latmon: fix retrieval of histogram data · 1377720f
      Philippe Gerum authored
      This is a general fix addressing several issues in the retrieval of
      histogram data from latmon, which reverts #6b2425d8
      
       in the same move:
      
      - use a safe socket send loop in order to cope with partial writes on
        the latmon side.
      
      - drop the very notion of warmup time, the system must be ready to
        respond with no delay or preparation, and the average figures won't
        be affected over long enough runs anyway.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      1377720f
  7. 16 May, 2020 1 commit
  8. 14 May, 2020 1 commit
  9. 11 May, 2020 2 commits
  10. 10 May, 2020 2 commits
  11. 04 May, 2020 3 commits
  12. 03 May, 2020 2 commits
  13. 01 May, 2020 1 commit
  14. 30 Apr, 2020 2 commits
    • Philippe Gerum's avatar
      lib: convert to HM diagnostic messages · 3fef97c6
      Philippe Gerum authored
      
      
      Since ABI 23, the core is able to channel T_WOSS, T_WOLI and T_WOSX
      error notifications through the offender's observable component if
      present.
      
      Convert all SIGDEBUG_xxx cause codes to the new EVL_HMDIAG_xxx naming,
      so that we have a single nomenclature for these errors regardless of
      whether threads are notified via SIGDEBUG or their observable
      component.
      
      The API rev. is bumped to #17 as a result of these changes.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      3fef97c6
    • Philippe Gerum's avatar
      lib: introduce the interface to observables · f27fc993
      Philippe Gerum authored
      
      
      Since ABI 23, the core provides the new observable element, which
      enables the observer design pattern. Any EVL thread is in and of
      itself an observable which can be monitored for events too.
      
      As a by-product, the poll interface can now be given a user-defined
      opaque data when subscribing file descriptors to poll elements, which
      the core passes back on return to evl_poll().
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      f27fc993
  15. 26 Apr, 2020 1 commit
  16. 23 Apr, 2020 10 commits
  17. 21 Apr, 2020 2 commits
  18. 18 Apr, 2020 1 commit
    • Philippe Gerum's avatar
      lib: introduce element visibility attribute · 9b42b85e
      Philippe Gerum authored
      
      
      Since core ABI 21, users can decide whether a new element should be
      made public or private depending on the value of clone flags added to
      the new long form of all element creation calls, i.e. evl_create_*().
      All evl_new_*() calls become a shorthand for their respective long
      form with reasonable default arguments, including private visibility.
      
      As a shorthand, libevl also interprets a slash character leading the
      name argument passed to these services as an implicit request for
      creating a public element. In other words, this is the same as passing
      EVL_CLONE_PUBLIC in the clone flags.
      
      A public element appears as a cdev in the /dev/evl hierarchy, which
      means that it is visible to other processes, which may share it. On
      the contrary, a private element is only known from the process
      creating it, although it does appear in the /sysfs hierarchy
      regardless.
      
      e.g.:
      
      efd = evl_attach_self("/visible-thread");
      
      total 0
      crw-rw----    1 root     root      248,   1 Apr 17 11:59 clone
      crw-rw----    1 root     root      246,   0 Apr 17 11:59 visible-thread
      
      or,
      
      efd = evl_attach_self("private-thread");
      
      total 0
      crw-rw----    1 root     root      248,   1 Apr 17 11:59 clone
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      9b42b85e
  19. 17 Apr, 2020 2 commits