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

Add vector clock to epoll ready lists #3932

Merged
merged 4 commits into from
Oct 2, 2024
Merged

Add vector clock to epoll ready lists #3932

merged 4 commits into from
Oct 2, 2024

Commits on Oct 2, 2024

  1. epoll: add data_race test

    This test demonstrates the need to synchronize the clock
    of the thread waking up from an epoll_wait from the thread
    that issued the epoll awake event.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    7077403 View commit details
    Browse the repository at this point in the history
  2. epoll: remove unnecessary instructions

    A couple of instructions were left over from an earlier rebase
    it would seem. They don't impact the logic but the ready_list type
    is about to change in the next commit.
    
    Rather than modify one of these lines in the commit that changes
    ready_list, only to have these lines removed later on, remove them now.
    They don't impact the tests results.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    67a8915 View commit details
    Browse the repository at this point in the history
  3. epoll: add vector clock to the epoll ready_list

    This adds a VClock to the epoll implementation's ready_list
    and has this VClock synced from the thread that updates
    an event in the ready_list and then has the VClocks of any
    threads being made runnable again, out of the calls to
    epoll_wait, synced from it.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    e3c3de3 View commit details
    Browse the repository at this point in the history
  4. epoll: remove extraneous clone of ready_list

    A simplification that doesn't impact the epoll implementation's logic.
    
    It is not necessary to clone the ready_list before reading its
    `is_empty` state.
    
    This avoids the clone step but more importantly avoids the invisible
    drop step of the clone.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    d7695a0 View commit details
    Browse the repository at this point in the history