Skip to content
Snippets Groups Projects
  1. Aug 02, 2018
  2. Aug 01, 2018
  3. Jul 31, 2018
  4. Jul 30, 2018
    • Beat Küng's avatar
      CDev: add DEVICE_POLL_DEBUG macro that removes all poll debug output from the build by default · 13f23153
      Beat Küng authored
      Reduces 'uorb_tests latency_test' by about 1us
      13f23153
    • Beat Küng's avatar
      CDev::poll_notify_one: remove checking the semaphore counter · 99fd1f72
      Beat Küng authored
      The check is unnecessary. In the worst case the semaphore gets unlocked
      twice, but it's not an issue because the waiter is only interested in the
      first sem_post(), and the semaphore is then not used anymore.
      99fd1f72
    • Beat Küng's avatar
      CDev::poll: disable IRQs instead of using an expensive semaphore · 72773b75
      Beat Küng authored
      poll() is one of the heavily used methods and thus needs to be optimized
      as much as possible.
      
      Test on Pixracer: uorb_tests latency_test
      Before:
      uORB note: ---------------- LATENCY TEST ------------------
      INFO  [uorb_tests] mean:     40.4320 us
      INFO  [uorb_tests] std dev:   1.3466 us
      INFO  [uorb_tests] min:      39 us
      INFO  [uorb_tests] max:      57 us
      INFO  [uorb_tests] missed topic updates: 0
      This Patch:
      uORB note: ---------------- LATENCY TEST ------------------
      INFO  [uorb_tests] mean:     31.3480 us
      INFO  [uorb_tests] std dev:   1.4584 us
      INFO  [uorb_tests] min:      30 us
      INFO  [uorb_tests] max:      45 us
      INFO  [uorb_tests] missed topic updates: 0
      72773b75
Loading