Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal refactoring #6507

Merged
merged 12 commits into from Sep 10, 2019
Merged

Internal refactoring #6507

merged 12 commits into from Sep 10, 2019

Commits on Sep 10, 2019

  1. atomic.hpp: implement wait callback interface

    Will be used to wake up threads uniformly.
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    1668d6e View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    faba366 View commit details
    Browse the repository at this point in the history
  3. Remove timeout support from lf_queue::wait

    Add notify method and use atomic wait
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    b91661a View commit details
    Browse the repository at this point in the history
  4. Remove notifier class

    Poorly implemented condition variable.
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    a45f86a View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    aa99faa View commit details
    Browse the repository at this point in the history
  6. atomic.hpp: optimize internal logic

    Move waiter count to highest bits to prevent false futex wakeups.
    Test pointer bits properly in notify_all to avoid false wakeups.
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    a808c2a View commit details
    Browse the repository at this point in the history
  7. Remove unique_cond

    Not very useful.
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    92a75cf View commit details
    Browse the repository at this point in the history
  8. atomic.hpp: fix signal saturation logic

    Make sure to notify_all at max signal count.
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    67f31c1 View commit details
    Browse the repository at this point in the history
  9. Rewrite cond_variable to use waitable atomics

    Increase max_timeout and fix max_timeout usage
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    d13ff28 View commit details
    Browse the repository at this point in the history
  10. Remove shared_cond and simplify reservation waiting

    Use atomic wait for reservations
    Cleanup some obsolete code
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    0a96497 View commit details
    Browse the repository at this point in the history
  11. atomic.hpp: implement collision fallback properly

    Should prevent devastating effect of collisions
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    4504ac2 View commit details
    Browse the repository at this point in the history
  12. Simplify thread_base::join()

    Use waitable atomics
    Nekotekina committed Sep 10, 2019
    Copy the full SHA
    c1b0934 View commit details
    Browse the repository at this point in the history