Skip to content
Snippets Groups Projects
  1. Jan 16, 2022
  2. Dec 25, 2021
    • Florian Fischer's avatar
      make cancellation in all emper variants sound · 9c0f2143
      Florian Fischer authored
      * Document data races of a future's state.
      * Get and set a Future's state only through methods. This helps to
        add possibly needed atomic operations.
      * Use atomics to get/set cancel and prepare state in IO_SINGLE_URING vaiant
      * Add more IO debug messages
      * Use the BPS of Futures with callbacks similar to those of forgotten
        ones to signal their preparation. The preparation mark the
        last moment where the Future is used in EMPER and after that the memory
        can be dropped.
        ATTENTION: This means not that the used resources of the IO request
        can be dropped. The kernel may still use a supplied buffer for example.
      * Fix Future chain cancellation in SubmitActor
      9c0f2143
  3. Dec 24, 2021
    • Florian Fischer's avatar
      properly cancel future callbacks · 95722c1b
      Florian Fischer authored
      Currently canceling Futures would never happen because we
      issued the cancel request only with the pointer of the future.
      This works more by coincidence than by design because
      the PointerTags::Future tagged onto the submitted future pointer is 0.
      
      This does not work for callbacks because they are tagged with a
      PointerTags != 0 and they don't use their callback pointer rather
      than the future pointer.
      
      Fix this by exporting the tagging from IoContext::prepareFutureChain
      into IoContext::createFutureTag and use this when submitting a cancel
      sqe.
      
      Warn the user that they have to manually take care of the memory safety
      of the callback because we can not await the callback in Future::cancel.
      
      Add a test case to CancelFutureTest.
      95722c1b
  4. Dec 16, 2021
  5. Dec 06, 2021
  6. Dec 03, 2021
    • Florian Fischer's avatar
      reduce test load when logging · 905fb18b
      Florian Fischer authored
      I suspect some test which scale whith the number of CPUs to timeout
      mostly on jenkins2.
      This patch reduces the load when logging is active and increases the
      load when logging is off.
      Therefore our test build with debugoptimized will do less and hopefully
      only timeout when they actually hung and the release test will do
      more.
      905fb18b
  7. Nov 10, 2021
    • Florian Schmaus's avatar
      Fixes for clang-tidy 13 · dfa64867
      Florian Schmaus authored
      While we do not have yet LLVM 13 in the gitlab-ci, I use it on my
      systems. So fix the new warnings found with clang-tidy 13.
      dfa64867
  8. Sep 24, 2021
    • Florian Fischer's avatar
      [ConcurrentNetworkEchoTest] scale work with the available CPUs and log_level · 6afbf1d3
      Florian Fischer authored
      The chosen amounts of echos take on my 16 core ryzen system ~5seconds.
      This should hopefully reduce CI timeout where we are not sure if they are
      bugs or legit timeouts. Furthermore this should reduce the amount of logs
      we write and have to store after each CI run.
      6afbf1d3
    • Florian Fischer's avatar
      [SimpleDiskAndNetworkTest] don't terminate the Runtime during the test · 5c1c60ca
      Florian Fischer authored
      Before 05dc56ed the two test cases testDiskAndNetwork, testIov
      where combined in one function which was terminating the runtime after the client
      closed its socketafter the test was done.
      This was already broken before 05dc56ed but after the separation of the
      two use cases the race between the Runtime terminating and the execution of
      the last parts of the test-runner's alphaFiber became bigger.
      
      When the Runtime terminates because the last worker running the testIoV
      code has outstanding IO the test-runner's successSem is never notified.
      5c1c60ca
  9. Sep 21, 2021
  10. Sep 16, 2021
  11. Sep 13, 2021
    • Florian Fischer's avatar
      [io/tests] use our own ASSERT macro unaffected by NDEBUG · 9fdc6e1a
      Florian Fischer authored
      This allows use to remove the current hack that the test are always
      build without NDEBUG regardless of the meson buildtype.
      
      Which is fact fixes the failing io tests in release builds.
      Because Future.hpp and Future.cpp see the same version of NDEBUG.
      9fdc6e1a
  12. Jul 29, 2021
  13. Jul 07, 2021
  14. Jul 06, 2021
  15. May 17, 2021
  16. May 04, 2021
  17. Apr 13, 2021
    • Florian Fischer's avatar
      [Future] improve cancellation · 2999ebf3
      Florian Fischer authored
      * Improve warn message in Future::cancel()
      * Don't cancel a Future in the destructor if it was already cancelled or received
      * Restructure CancelFutureTest into single separate test cases
      
      With this I can not reproduce the weird CancelFutureTest behavior anymore
      neither SIGABRT nor the timeout.
      2999ebf3
  18. Apr 01, 2021
Loading